自定义组件
一、组件的基本概念
二、创建组件实例
三、组件的高级技术 属性编辑器和组件编辑器
四、创建对话框组件
一、组件的基本概念
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、为组件提供帮助文档