关于 TApplication 详解 五 ---- Tscreen

五、Tscreen                                                                                                                                                                                                      

Tobject—> TPersistent—> Tcomponent

Tscreen的属性:                                                           从TComponent继承来的:                                                          
In   Tscreen                                                                     DestroyComponents
        ActiveControl                                                       FindComponent                        
        ActiveCustomForm                                                 FreeNotification
        ActiveForm                                                             FreeOnRelease
        Cursor                                                                     GetParentComponent
        Cursors                                                                   HasParent
        CustomFormCount                                                   InsertComponent
        CustomForms                                                           RemoveComponent
        DataModuleCount                                                   SafeCallExecption    
        DataModeles                                                           从TPersistent继承来的:      
        DefaultIme                                                             Assign            
        DefaultKbLayout                                                   GetNamePath    
        Fonts                                                                       从TObject继承来的:  
        FormCount                                                               ClassInfo      
        Forms                                                                       ClassName          
        Height                                                                     ClassNameIs      
        IconFont                                                                 ClassParent          
        Imes                                                                         ClassType          
        PixelsPerInch                                                       CleanupInstance                    
        Width                                                                       DefaultHandler        
从Tcomponent继承来的:                                             Dispatch
                ComObject                                                       FieldAddress        
                ComponentCount                                             Free          
                ComponentIndex                                             FreeInstance        
                Components                                                     GetInterface        
                ComponentState                                             GetInterfaceEntry          
                ComponentStyle                                             GetInterfaceTable          
                DesignInfo                                                     InheritsFrom    
                Name                                                                 InitInstance    
                Owner                                                               InstanceSize        
                Tag                                                                   MethodAddress              
                VCLComObject                                                 MethodName                
                                                                                        NewInstance
TScreen的方法                                                               TScreen的事件:                
In   TScreen                                                                     In   TScreen  
      Create                                                                       OnActiveControlChange        
      Destroy                                                                     OnActiveFormChange

 

 

ActiveControl属性
对应对象:TScreen
声明:property   ActiveControl   :TWinControl;
功能:ActiveControl属性用来确定有焦点的控件。
在任何时候,整个屏幕上只有一个控件有焦点。如果控件在应用程序的外面,则用户不能访问它。一般ActiveControl被限制在应用程序的内部。

例子:
//Create   a   form   with   many   controls,change   the   Interval   property
//of   the   Timer   to   500-every   time   a   control   is   selected,the   Form
//Caption   changes   to   indicate   which   control   has   the   foucus
procedure   TForml.TimerlTimer(Sender:TObject);
begin
        Form1.Caption   :=   Screen.ActiveControl.Name;
    end;    

ActiveForm属性      
对应对象:TScreen
声明:property   ActiveForm   :TForm;
功能:ActiveForm属性用来确定被激活的窗体是哪一个窗体。这个属性是只读型的。它指出具有焦点的窗体。

例子:
//Create   a   program   with     two   forms-Show   Form2   by
        //clicking   a   button   on   the   first   form.   This   method   will
        //put   the   name   of   the   active   form   on   Form2’s   caption
procedure   TForm2.Timer1Timer(Sender   :   TObject);
begin
    Form2.Caption   :=   Screen.ActiveForm.Name;
end;    

Cursor属性      
对应对象:TScreen
声明:     property   Cursor:TCursor;
功能:Cursor属性用来确定光标的形状。
            改变Cursor属性的值将对应地改变应用程序中用户区域的光标形状。
            以下说明使用的TCursor类型时的可能值:    

类型常数                             值                           功     能
crDefautl                           0                       依据ActiveControl。
crNone                                 -1                           无光标。
crArrow                               -2                         标准光标。
crCross                               -3                         十字光标。
crIBeam                               -4                         I形光标。
crSize                                 -5                     十字箭头光标。
crSizeNESW                         -6                   右斜方箭头光标。
crSizeNS                             -7                   上下方箭头光标。
crSizeNWSE                         -8                   左斜方箭头光标。
crSizeWE                             -9                   左右箭头光标。
crUpArrow                           -10                 向上箭头光标。
crHourGlass                       -11                   等待光标。
crDrag                                 -12                 箭头加文本光标。
crNoDrop                             -13        
crHSPlit                             -14                 左右移动表格线光标。
crVSplit                             -15                 上下移动表格线光标。
crMultiDrag                       -16                 箭头加多文本光标。
crSQLWait                           -17                 SQL加等待光标。
crNo                                     -18        
crAppStart                         -19                 等待加箭头光标。
crHelp                                 -20                 箭头加问号光标。
crHandPoint                       -21                 手光标。

    例子:
          procedure   TForm1.FormCreate(Sender   :   TObject);
          begin
              Screen.Cursor   :=   crUpArrow;
          end;    

Cursors属性      
对应对象:TScreen
声明:property   Cursors   [Index:Integer]   :   HCursor;
功能:Cursors属性是用户可以使用的光标数组。
Cursors属性允许用户在应用程序中加载自定义的光标,全局光标的预定义集由TCursor来定义。前面介绍的Cursor属性中说明了TCursor类的光标元素。如果用户希望创建自己的光标,可以使用Delphi的图形编辑器来绘制光标,并且在源代码中说明一个常量来表示光标在Cursors数组中的位置,使用系统的API函数比LoadCursor以便使这个光标成为程序共享的资源。例如,设想一个用户定制的光标已经被加载到应用程序的资源中去,并且命名为NewCursor。以下的代码使这个光标在应用程序中是有效的,通过光标常数crMyCursor,并设置它是全局的。

例子:
          implementation
          {$R   *.DFM}
          const
              crMyCursor   =   5;
          procedure   TForm1.FormCreate(Sender   :   TObject);
          begin
              Screen.Cursors[crMyCursor]   :=   LoadCursor(HInstance,   ‘NewCursor’);
              Cursor   :=   crMyCursor;
          end;    

CustomFormCount属性      
对应对象:TScreen
声明:property   CustomFormCount   :   Integer;
功能:CustomFormCount说明了在屏幕上所显示的窗体号或属性页。    

CustomForms属性      
对应对象:TScreen
声明:property   CustomForms   [Index   :Integer]:TCustomForm;
功能:CustomForms是一个所有的属性页和窗体的例表,它们是在当前的屏幕上显示。    

DataModuleCount属性      
对应对象:TScreen
声明:property   DataModuleCount:Integer;
功能:DataModuleCount属性说明了在当前的应用程序中例示的数据模块的号。    

DataModules属性      
对应对象:TScreen
声明:property   DataModules   [Index:Integer]:TDataModule;
功能:DataModules是在当前应用程序中例示的所有数据模块的例表数组。    

DefaultIme属性      
对应对象:TScreen
声明:property   DefaultIme:string;
功能:DefaultIme属性说明了输入方法编辑器的名,输入方法编辑器在TScreen对象被创建时被激活。    

DefauItKbLayout属性      
对应对象:TScreen
声明:property   DefaultKbLayout:HKL;
功能:DefauItKbLayout属性是当应用程序开始运行时被激活的键盘版面所对应的窗口句柄。    

Fonts属性      
对应对象:TScreen
声明:property   Fonts:TStrings;
功能:Fonts属性说明了包含在应用程序中可用的字体例表。Fonts属性是只读型的,它包含了屏幕支持的字体例表,应用程序可用访问。用户可以使用Fonts属性来确定某种字体是否可以被使用,进而确定所使用的字体。

例子:
          //Display   all   of   the   available   fonts
          procedure   TForm1.FormCreate(Sender   :   TObject);
          begin
              ListBox1.Sorted   :=   True;
              ListBox1.Items   :=   Screen.Fonts;
          end;

 

FormCount属性      
对应对象:TScreen
声明:property   FormCount:Integer;
功能:FormCount属性包含了应用程序中屏幕上可以看到的窗体数目。它是只读型的。

例子:
          //Get   form   count
          procedure   TForm1.Button1Click(Sender   :   TObject);
          begin
              Label1.Caption   :=   ‘There   is/are’   +   IntToStr(Screen.FormCount)   +
                                            ‘form(s)   on   the   screen.’;
          end;    

Forms属性      
对应对象:TScreen
声明:property   Forms[Index:Integer]   :   TFonn;
功能:Forms属性对应了显示的窗体数组。在应用程序中的每一个窗体所对应的Forms数组中都给了一个确定的位置。程序创建的第一个窗体是Forms[0],第二个窗体是Forms[1],依此类推。Forms允许用户通过Index值访问应用程序的每—个窗体。

例子:
当按钮1被按击时,以下的代码加载了在屏幕上的所有的窗体名到ListBoxl上。
procedure   TForm1.Button1Click(Sender   :   TObject);
var
    I   :   integer;
begin
    For   I   :=   0   to   Screen.FormCount   –   1   do
        ListBox1.Items.Add(Screen.Forms[I   ].Name);
end;    

Height属性      
对应对象:TScreen
声明:property   Height   :   Integer;
功能:Height属性包含有屏幕的高度。
Height属性是只读型的,包含有屏幕的垂直高度尺寸,并以象素来计数。

例子:
          procedure   TfrmScreenInfo.FormCreate(Sender   :   TObject);
          begin
              lblWidth.Caption   :=   IntToStr(Screen.Width);
              lblHeight.Caption   :=   IntToStr(Screen.Height);
              lblPixelsPerInch.Caption   :=   IntToStr(Screen.PixelsPerInch);
          end;    

IconFont属性      
对应对象:TScreen
声明:property   IconFont   :   TFone;
功能:IconFont属性是说明了在文件选择对话框中,显示在图标上的标签的字体形式。    

Imes属性      
对应对象:TScreen
声明:property   Imes   :   TStrings;
功能:Imes属性说明了在系统上安装的所有输入方法编辑器的例表。    

Width属性      
对应对象:TScreen
声明:property   Width:Integer;
功能:Width属性说明了屏幕的宽度。这个属性是只读型的,包含有屏幕的水平尺寸,以象素来计数。示例:
          with   Screen   do
              for   I   :=   0   to   FormCount   –   1   do
                  if   Forms[I].Width   >   Width   then   Forms[I].Width   :=   Width;    

Create方法      
对应对象:TScreen
声明:constructor   Create(AOwner:TComponent);override;
功能:Create方法用来创建一个TScreen对象的实例。    

Destroy方法      
对应对象:TScreen
声明:destructor   Destroy;override;
功能:Destroy方法用来消除一个TScreen对象的实例。    

OnActiveControlChange事件      
对应对象:TScreen
声明:TNotifyEvent   =   procedure(Sender   :TObject)of   object;
            property   OnActiveControlChange:TNotifyEvent;
功能:当屏幕的焦点从一个控件转换到另一个控件时发生OnActiveControlChange事件。如果每一次焦点的转换事件发生时用户希望应用程序处理一些操作的话,可以对OnActiveControlChange事件创建一个事件的处理代码来完成。当OnActiveCon-trolChange事件发生时,屏幕的激活控制属性的值将成为将要接收焦点的控件的属性值。

例子:
          unit   Unit1;
          interface  
          uses
              Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs,
              StdCtrls,   ExtCtrls;
          Type
              TForm1   =   class(TForm)
                  RadioGroup1   :   TRadioGroup;
                  RadioButton1   :   TRadioButton;
                  RadioButton2   :   TRadioButton;
                  RadioButton3   :   TRadioButton;
                  CheckBox1   :   TCheckBox;
                  CheckBox2   :   TCheckBox;
                  Button1   :   TButton;
                  Button2   :   TButton;
                  Procedure   FormCreate(Sender   :   TObject);
              private
                  {Private   declarations}
              public
                  //Manually   added   method   declaration
                  Procedure   FocusChanged(Sender   :   TObject);
              end;
          var
              Form1   :   TForm1;
          implementation
          {$R   *.DFM}

          //Create   an   event   handler   for   OnActiveControlChange
          procedure   TForm1.FormCreate(Sender   :   TObject);
          begin
              Screen.OnActiveControlChange   :=   FocusChanged;
          end;

          //Respond   to   OnActiveControlChange   events
          procedure   TForm1.FocusChanged(Sender   :   TObject);
          begin
              if   Screen.ActiveControl   =   Button2   then
                Button1.Enabled   :=   False;
              Else   Button1.Enabled   :=   True;
          end;
          end.    

OnActiveFormChange事件      
对应对象:TScreen
声明:TNotifyEvent   =   procedure(Sender:TObject)   of   object;
            property   OnActiveFormChange:TNotifyEvent;
功能:在激活的窗体被改变之前OnActiveFormChange事件发生。用户可以为OnActiveFormChange事件创建一个认为代码来实现在窗体改变之前希望完成的操作。

例子:
          unit   Unit1;
          interface    
          uses
              Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs,
              StdCtrls,   ExtCtrls;
          Type
              TForm1   =   class(TForm)
                  RadioGroup1   :   TRadioGroup;
                  RadioButton1   :   TRadioButton;
                  RadioButton2   :   TRadioButton;
                  RadioButton3   :   TRadioButton;
                  CheckBox1   :   TCheckBox;
                  CheckBox2   :   TCheckBox;
                  Button1   :   TButton;
                  Button2   :   TButton;
                  Label1   :   TLabel;
                  procedure   FormCreate(Sender   :   TObject);
                  procedure   Button1Click(Sender   :   TObject);
              private
                  {Private   declarations}
              public
                  //Manually   added   method   declaration
                  Procedure   FormChanged(Sender   :   TObject);
              end;
          var
              Form1   :   TForm1;
          implementation
          uses   Unit2;
          {$R   *.DFM}

          //Create   an   event   handler   for   OnActiveFormChange
          procedure   TForm1.FormCreate(Sender   :   TObject);
          begin
              Screen.OnActiveFormChange   :=   FormChanged;
          end;

          //Handle   the   OnActiveFormChange   event
          procedure   TForm1.FocusChanged(Sender   :   TObject);
          begin
              Label1.Caption   :=   ‘Active   Form   is’   +   Screen.ActiveForm.Name;
          end;

          //Show   Form2   when   the   button   is   pressed
          procedure   TForm1.Button1Click(Sender   :   TObject);
          begin
              Form2.Show;
          end;
end.

posted @ 2010-11-29 16:55  叮/当  阅读(1019)  评论(0编辑  收藏  举报