西安哪里有学茶艺的:Delphi 6 程序员代码编写标准指南二

来源:百度文库 编辑:九乡新闻网 时间:2024/05/09 09:09:55
Delphi 6 程序员代码编写标准指南二 日期:2004年12月30日 作者: 人气: 3579 查看:[大字体 中字体 小字体] 二、TCommonDialog                                                                 
                         
                                                                                
                                   
TCommonDialog--TColorDialog
 
Color属性
对应对象:TColorDialog
声明:property Color:TColor default clBlack;
功能:Color属性用来确定在颜色对话框中选择哪一个颜色。当用户选择了一个新的颜色时,Color属性将被设置为新颜色的值。
例子:
//Change the color of the selected text when the user choose a
//color from the Color dialog box
procedure TForm1.sbColorClick(Sender: TObject);
begin
  Colordialog1.Execute;
  RichEdit1.SelAttributes.Color:=Colordialog1.Color;
End;
CustomColors属性
对应对象:TColorDialog
声明:property CustomColors:TStrings;
功能:CustomColors属性确定在颜色对话框中可以获得的一种自定义的颜色。CustomColors属性保存了一个字符串的列表,每一个字符串的格式是:ColorX=HexValue,其中ColorX是16个自定义的颜色中的一个,是从ColorA到ColorP,HexValue参数是一个十六进制的数值,它说明了构成颜色的所对应的RGB值。所以,对应于纯白色这个值是FFFFFF,000000是纯黑,使用Color0=000000
说明了把纯黑色传递给颜色选择。当颜色对话框被关闭时,保存了对话框颜色的列表,以便用户可以在下一次使用对话框时使用自定义颜色。
例子:
procedure TForm1.sbColorClick(Sender: TObject);
var X:Integer;
begin
    Colordialog1.CustomColers:= StrCustomColors;
Colordialog1.Execute;
RichEdit1.SelAttributes.Color:=Colordialog1.Color;
    StrCustomColors:=Colordialog1.CustomColors;
   //Save StrCustomColors to the registry or an INI file
  //when the program exits…
end;
Options属性
对应对象:TColorDialog
声明: TColorDialogOption = (cdFullOpen, cdPreventFullOpen, cdShowHelp,
cdSolidColor,
 cdAnyColor);
  TColorDialogOptions = set of TColorDialogOption;
property Options: TcolorDialogOptions  default[];
功能:Options属性说明了颜色对话框的显示形式和选项。
以下列举了有效的选项值。
      选项值意  义
      cdFullOpen当颜色对话框被打开时显示了定制颜色的选项。
      cdPreventFullOpen使在对话框中的定义定制的颜色成为不可用,所以便用者不能定义新的颜色。
      cdShowHelp在对话框之中添加一个帮助按钮。
      cdSolidColor指引系统使用最近的纯颜色的选择。
      cdAnyColor允许使用者选择非纯的颜色(可以被近似的抖动)

缺省时所有的选项是被关闭的。
例子:
procedure TForm1.FormCreate(Sender: TObject);
begin
ColorDialog1.Options:=[ cdFullOpen, cdShowHelp];
end;
OnClose事件
对应对象:TColorDialog
声明:property OnClose:TNotifyEvent;
功能:当一个对话框被关闭时,OnClose事件被引发。当对话框关闭时写入一个OnClose事件的句柄来完成指定的操作。
 
                                                                                
                                   
三、TComponent                                                                    
                      
                                                                                
                                   
ComponentCount属性
对应对象:所有组件
声明:property ComponentCount: Integer;
功能:此属性在运行时有效,它是只读型。同时它标明组件具有的组件数。当用户在设计时可以在窗体上放置一个组件,因此此窗体将变为这个组件的有用者。Components属性例出了当前组件的所有的组件。
例子:
procedure TForml.ButtonlClick(Sender: TObject);
var
x: Integer;
begin
    x := Forml.ComponentCount;
    Labell.Caption := IntToStr(x);
end; 
ComponentIndex属性
对应对象:所有组件
声明:properrty ComponentIndex: Integer;
功能:此属性说明了拥有者的组件例表中当前的组件的位置。
每个组件包含一个其拥有者的组件数组,此数组是以0为基底的数组。Components属性可以来访问这个数组。CompnentIndex属性列出了它被拥有者的Components数组内部组件的位置,该属性在运行时是有效的,且是只读型。
例子:
procedure TForm1.ButtonlClick(Sender: TObject);
begin
Labell.Caption := IntToStr(RadioButton3.ComponentIndex);
end; 
Components属性
对应对象:所有组件
声明:property Components[Index: Integer]: TComponent;
功能:Components属性指出当前数组所拥有的组件数组。
Components属性在运行时是有效的,它是只读型的。它可以用来访问组件所拥有的任何组件(在知道组件的索引时)。一般情况下直接地访问组件边界容易,但是如果用户在运行时动态地创建了许多组件,用户将需要使用这个方法。因为组件数组是以0为基底的,所以第一个组件的索引将是0,第二个组件的索引将是1等。
例子:
//Indirectly access the check boxes owned by the form and check them all
procedure TForml.Button3Click(Sender: TObject);
var
x: Integer;
begin
    for x := 0 to Forml.ComponentCount – 1 do
    if Forml.Components[x] is TCheckBox then
    TCheckBox(Form1.Components[x]).Checked := True;
end;  
ComponentState属性
对应对象:所有组件
声明:property ComponentState: TComponentState;
功能:ComponentState属性用来描述组件的状态。
ComponentState属性在运行时是有效的,且它是只读型的。它的类型是TComponentState,被声明成为:TComponentState =
set of (csLoading, csReading, csWriting, csDestroying, csDesigning, csAncestor,
csUpdating, csFixups); TComponentState是一个标志集合,把它们组合在一起可以导出组件的状态,一些公用的标志包括以下:
csDesigning:Delphi环境是设计方式,因此可以编辑组件。
csReading:组件从一个流中读取它的属性值。
csWriting:组件将它的属性值写入一个流中。
组件在内部使用CompnentState属性,可以保证某些程序可以执行。因此,无需经常直接地访问ComponentState。 
DestroyCompoents方法
对应对象:所有组件
声明:procedure DestroyComponents;
功能:DestroyComponents方法撤销当前组件所拥有的全部组件。
DestroyComponents是它在第—次调用Destroying之后由Destroy方法调用的。除非是设计一个组件,一般的情况下是不需要直接访问DestroyComponents的。
 
Destroying方法
对应对象:所有组件
声明:procedure Destroying;
功能:Destroying通过在它的ComponentState属性中设置cbDestroying标志,来通知当前组件立刻被撤销(除了在同时由全局TGovemor对象产生一个msgPardon信息)。之后它将对当前组件拥有的每一个组件调用Destroying方法。调用Destroying是由组件的Destroy方法所作出的第一个操作,用户一般不需要直接访问Destroying。
 
FindComponent方法
对应对象:所有组件
声明:function FindComponent(const AName: string): TComponent;
功能:FindComponent方法在当前的组件的Components数组中指出给定的组件。被传递给FindComponent中的字符串是被寻找的组件名。例如“Edit1”,“Label1”。FindComponent将返回该组件(如果它存在),否则将返回空。
例子:
//Use FindComponent to obtain another pointer to CheckBoxl
procedure TForml.Button4Click(Sender: TObject);
var
MyComponent: TComponent;
begin
  MyComponent := FindComponent(’CheckBox1’);
  TCheckBox(MyComponent).Checked := True;
end;  
Name属性
对应对象:所有组件
声明:property Name: TComponentName;
功能:Name是一个标识符、它可以用于在Delphi中的源代码和设计环境之间访问组件。De1phi在设计时为添加的组件提供了十分烦琐的缺省名,例如“Forml”,“Form2”等等。用户可以随意地改变它们。当动态的链接组件时,用户可以在源代码的var部分命名组件。
例子:
    动态创建一个按纽控件。
var
Form2: TForm2;
MyButton: TButton; //the Name property is MyButton
 
implementation  
{$R *.DFM}  
procedure TForml.FormCreate(Sender: TObject);
begin
MyButton := TButton.Create(Self);
MyButton.Parent := Form1;
MyButton.Height := 32;
MyButton.Width := 40;
MyButton.Caption := ’Hi’;
//set other button properties as needed
end;
警告:在运行时不要改变设计时创建的组件名。Delphi保持对设计时添加的组件方法和事件处理程序的跟踪,在程序运行时改变组件名将导致一些难以应付的事故。 
Owner属性
对应对象:所有组件
声明:property Owner: TComponent;
功能:Owner属性用来指出当前组件的拥有者。
一个窗体对应所有在其上面的组件是它们的拥有者。当一个组件的拥有者被撤销时,它的存储空间同时被释放,那么该组件也就被撤销了,它所占据的内存也被释放。拥有一个组件和作为一个组件的父类是不同的。控件(它是TComponent的派生类)具有一个Parent属性,是对应组件的视觉容器而不是说明它是拥有者。视觉容器像其他包含的控件面板一样,都没有拥有控件,包含的控件仍旧由窗体所拥有。当动态创建组件时,Owner属性由Create方法来设置,在设计时创建的组件将它的Owner属性设置成为当前的窗体。Owner属性在运行时是有效的。
 
Tag属性
对应对象:所有组件
声明:property Tag: Longint;
功能:Tag属性用组件存储一个用户定义的长整型值。Tag属性允许用户使用组件存储长整型值,当用户看到它合适时就可以使用它,它的使用是可以选择的。