Delphi自定义组件

1.组件设计基础

a.编写组件步骤:

  1)确定一个祖先类

TObject:直接从TObject继承下来的类不是组件。有些以此为基类的对象在设计期不需要使用,如TIniFile

TComponent:这是非可视组件的起点,它的特点是在设计时能够以流的方式在IDE上存取

TGraphicControl:创建一个不需要窗口句柄、但要在屏幕上显示的组件时,用这个类作为祖先类

TWinControl:所有需要窗口句柄的组件,都应以该类为基类。该类提供了Windows组件的一般属性和事件

TCustomControl:该类是从TWinControl继承下来的。它具有Canvas属性和Paint()方法,能够控制组建的外观。也用于需要句柄的组件

TCustomClassName:VCL中有些类的属性是不公开的,它们用来作为组件的祖先类。可以以它为祖先类创建出自定义组件,每个组件公开自己的属性

TComponentName:一个现有的组件,譬如TEdit、TPanel或TScrollBox。与其创建一个新的组件,不如扩展一个现有的组件。大部分自定义组件都是这样的

  2)创建一个组件单元。

通过选择Component|New Component菜单命令来打开组件专家。在组件专家里,输入组件的祖先类名、组件的类名、组件显示在的面板页和组件的单元名。

点击OK,Delphi会自动创建组件单元,该单元有组件类的声明和注册过程

3)在新组件中添加属性、方法和事件。

(1)加入简单类型的属性:简单类型的属性是指数字、字符串和字符

property InterProp:Integer read FInterProp write SetInterProp;

(2)加入枚举型的属性:例如枚举属性Align,大部分可视的组件都有这个属性

type

  TEnumProp=(epZero,epOne,epTwo);

  property EnumPeop:TEnumProp read FEnumPeop write SetEnumPeop;

(3)加入集合型的属性

要在Object Inspect中编辑集合型的属性,可以把这个属性展开。这样,集合型的每个元素就好像布尔类型的属性

type

  TSetOption=(pone,ptwo,pthree);

  TSetOptions=set of TSetOption;

property Options:TSetOptions read FOptions write SetOptions;

4)测试该组件

5)在Delphi中注册该组件。

6)为该组件建立帮助文件。

 

b:组件包

优点:

1.减少代码

2.使应用程序更容易分发

3.包容组件

 

c.包文件

.dpk包的源文件             这个文件时包编辑器创建的,可以把它当作Delphi的项目文件(.dpr文件)

.dcp运行期/设计期包的符号文件       这是个编译过的包文件,它包含包的符号信息及IDE需要的头信息

.dcu编译过的单元           包中包含一个单元,就会有一个.dcu文件

.bpl运行期\设计期包的库文件                这就是运行期\设计期包,相当于DLL。如果这是个运行期包,就必须把它与应用程序一起分发(如果应用程序使用了运行期包的话)。如果是个设计期包,就必须把它分发给需要用它编程的程序员。请注意,必须分发单元的源代码或者一个.dcp文件

 

上一篇:WSL 配置中文输入法


下一篇:minix3.2.1安装x11需要更换软件源