Delphi基础教程:创建VCL 构件及开发实例
作者:转载自:xin3721视频教程网更新时间:2010/10/19

简述构件设计思想
---- Delphi 3 提供了TLabel 和TButton 构件。程序运行时,TLabel 可以显示文
字,但文字缺少立体效果,鼠标单击时不能象TButton 那样产生" 上
升"、" 下沉" 感;TButton 可对鼠标单击产生" 上升"、" 下沉" 感,但文字
显示在按钮表面,不能象Tlabel 那样在窗体上平坦地显示文字。如
果要求一种构件既能在窗体上显示具立体感的文字,又能对
Click 事件产生" 上升"、" 下沉" 响应,该怎么办呢?
二、详述构件创建步骤
---- Delphi 构件创建步骤是:
选择合适的父类

创建构件框架

测试构件

创建构件图标

安装构件
---- 1、选择合适的父类
---- Delphi 3 为用户提供了快速创建构件的构件专家(Component
Expert),它能自动生成在Delphi 中创建、注

.
.
.
---- 2、创建构件框架
---- 至此,新构件只是简单地复制了父类TCustomLabel 的属性、事件、
方法。为实现设计思想,需对LblBtn.pas 单元文件做如下修改:

属性:现有属性仅包含Cursor、Height、Hint、Left、Name、Tag、Top、Width。应
增加Caption、Enabled、Font、ShowHint、Visible 属性,分别控制构件
... ...


事件:
现有事件不能响应Click 事件,为使用户能在对象检查器中看到
&#111nClick,应在published 部分加入声明。参见代码B:
... ...


方法:DrawTextState(Style:boolean) 方法是本例中最重要的方法,Paint、
MouseDown、MouseUp 都需调用该方法。参见代码D:
D procedure DrawTextState(Style:boolean);

编写代码:下面列出了4个代码段,分别对应于Paint、DrawTextState、
MouseDown、MouseUp。参见代码E:
... ...
---- 3、测试构件
---- 有两种方法测试构件。第一种方法:首先安装构件,把构件添
加到构件面板上,然后把它拖放到一个新的应用程序中;第二种
方法:Delphi 允许安装构件前对其测试,因此可创建一个小程序在
运行时建立一个构件实例。第一种方法优点是允许测试构件设
计时、运行时的表现而无需编写代码建立构件实例并初始化,缺
点是每次改变构件代码后都要重新编译构件库;每二种方法优
点是可以让构件在运行时表现其行为,在确认其主要功能工作
正常后再编译构件库,缺点是构件在对象检查器中显示不出
来。一般采用第二种方法。测试步骤是:

将LblBtn.pas 文件存盘

建立一个新应用,在窗体单元的uses 子句中加入单元名LblBtn,如
下所示:
.
.
.
---- 4、创建构件图标
---- 当Delphi 把构件添加到构件面板时,它在与构件单位文件(.pas)
同名的资源文件(.dcr) 中为构件寻找图标。一般要求.pas 文件和.dcr
文件在同一路径,但如果你在Tools 菜单下选择Environment Options 项,
并在Environment Options 对话框中Library 选项卡的Library Path 栏内添加
了.dcr 文件所在路径,即使.pas 文件和.dcr 文件不在同一路径,Delphi 同
样可以访问.dcr 文件。如果没有提供或Delphi 没有找到.dcr 文件,构件
将在构件面板上以一个缺省图标表示(看上去有点象3块彩色
小石头)。为LblBtn 创建图标的步骤是:

选择Tools 菜单下的Image Editor 项,打开Image Editor;

在Image Editor 中选择File-New-Delphi Component Resource File;

选择Resource-New-Bitmap 打开Bitmap Property 对话框;

在Width、Height 栏内输入24,颜色设为16 或256 色,为避免显示模式或
调色板问题,一般选择16 色;单击OK,创建名为Bitmap1 的位图;

右键单击Bitmap1,在弹出菜单中选择Rename,将Bitmap1 重命名为
TLblBtn;

选择File-Save As,指定.dcr 文件路径,完整文件名为LblBtn.dcr。
---- 5、安装构件
---- 选择Component 菜单下Install Component 项,在Unit file name、Package file name
中指定LblBtn.pas 文件的路径和所使用的包。包可以是已经存在
的,例如C:\Program Files\Borland\Delphi 3\Lib\dclusr30.dpk,也可以创建新包,例
如C:\aaa.dpk。单击OK,在Confirm 对话框中单击Yes,在Information 对话框
中单击OK。至此,构件安装成功,应能在构件面板Samples 页上看到
构件图标,如果没有,选择Component 菜单下Install Package 项,在Project
Option 对话框中单击Add,选定刚才编译的.dpk 文件(如aaa.dpk),单击
" 确定",单击OK。

三、结束语
---- 以上仅对创建Delphi 构件的基本知识进行了讨论,由于篇幅所
限,仍有一些与创建构件有关的问题、技术未能深入探讨。感兴
趣的读者可结合阅读专业书籍,进一步提高创建Delphi 构件的能
力。
https://www.xin3721.com/

关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们     黑ICP备07002182号