VCL:自定义组件(一)

自定义组件

一、组件的基本概念
二、创建组件实例
三、组件的高级技术 属性编辑器和组件编辑器
四、创建对话框组件

一、组件的基本概念
1、基本概念
组件是可视化编程的基础,应用程序的用户界面和其他功能就是由它构成和实现的。组件实际

就是Object Pascal类。

2、类型:标准组件、自定义组件、图像组件、非可视组件
标准组件:Delhpi提供的一些标准的windows组件,如TRichEdit,TButton等。这些组件实际上

就是windows公共组件加上一层Object Pascal外套。
自定义组件:用户自己编写的组件
图像组件:是可视的,但没有输入焦点。如:TLable、TShape
非可视组件:典型的如:TOpenDialog、TTable、TTimer等

3、三大组成:属性、方法和事件

3.1属性
属性是访问组件字段的接口,通过属性,组件的使用者可以读或写组件的内部字段。
a、类型
简单类型:Numeric、Character和String类型的属性,用户可以在Object Inspector中,直接

访问它们的值,而不需要特殊的访问方法。
枚举类型:显示值的方法在代码中定义,在Object Inspector中可以选择值。
集合类型:在Object Inspector窗口如一个集合,展开后,用户可以将这些集合元素设为True

和False
对象类型:在Object Inspector中可以展开,这样可以进一步设置对象本身的属性
接口类型:
数组类型:

b、定义组件属性
属性的声明需要以下内容:属性名、属性类型、读写属性的方法(如果没有写方法,则该属性

为只读属性)
在Published部分声明的属性,在设计时Object Inspector是可以编辑的,Published的属性值

可以与组件一起保存到表单文件中。在Public部分声明的属性可以在运行时可见并可以在程序

中读写。
如:
type
  TMyComponent=class(TComponent)
  private
    FCount: Integer;
    procedure SetCount(Value: Integer);
  published
    property Count:Integer read FCount write SetCount;
  end;

声明在private部份的只能在组件内部访问;
一般组件内部存储以F开头的标识符存储;
也可以直接访问,如:property Count:Integer read FCount write FCount;
可设定属性的默认值default,property Count:Integer read FCount write FCount default

100;

3.2方法
组件方法是类结构中内建的过程或方法。

3.2.1访问权限
包括私有(private)、保护(protect)和公用(public)。
公用:任何需要外部调用的方法必需定义成公用的;
保护:外部不允许调用,但在继承类中可以调用;
私有:只供本单元内部调用;

3.2.2虚方法
即面象对象的多态,关键字virtual

3.3事件
事件表示某个动作的发生,用TNotifyEvent

4、为组件添加图标
利用Delphi附带的Image Editor创建一个24*24的位图,把它保存为DCR文件,与组件的类名相

同,并保存在同一目录。

5、为组件提供帮助文档


 

你可能感兴趣的:(delphi专题)