简述构件设计思想
---- 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/
Delphi基础教程:创建VCL 构件及开发实例
作者:转载自:xin3721视频教程网更新时间:2010/10/19
- 视频教程在线观看
- Visual Basic从入门到精通视频教程
- 李天生SQL2008数据库视频教程
- 李天生二级VF考试视频教程
- 李天生Java软件开发高级视频教程
- 李天生Java软件开发高级教程
- C++从入门到精通视频教程
- 鹏哥C#语言从入门到高级视频教程
- 李天生JavaScript+JQuery视频教程
- VB教程:实例问题一则
- vb教程:实现多线程!
- vb教程:实现JPEG数据压缩
- VB教程:VB中调用VC++开发的DLL
- JAVA教程:UDP数据广播的局域网络会
- C语言教程:C 程序开发经典实例之6
- C语言教程:实现的闹钟程序
- 如何利用用C语言来解决鬼谷算题
- C语言教程:C 程序开发经典实例之一
- C语言教程:C 程序开发经典实例之2
- C语言教程:C 程序开发经典实例之3
- C语言教程:C 程序开发经典实例之5
- C语言教程:C语言程序设计技巧
- C语言教程:C 程序开发经典实例之7
- C语言教程:C 程序开发经典实例之8
- C语言教程:C 程序开发经典实例之9
- C语言教程:C 程序开发经典实例之1
- C语言教程:C 程序开发经典实例之4
- C语言教程:C语言入门
- 如何在VB.NET中取得计电脑的硬件信
- C语言教程:入门基础2
- C语言教程:入门基础
- C语言教程:写好C程序的10条秘籍
- 如何在VB.net中应用HOOK(二)
- VB.NET实例:删除文件时出错
- VB.NET实例:求一个因式分解的程序
- 关于MDI多文档编辑器的问题
- 如何产生不同的随机数?
- VB第三方控件实现XP资源管理器垂直
- VB第三方控件实现XP资源管理器垂直
- Delphi基础教程:开发分隔线组件
- Delphi基础教程:在程序中调用自己
- Delphi基础教程:面向组件的系统开
- Delphi基础教程:创建VCL 构件及开
- Delphi基础教程:编写ASP中的Activ
- Delphi基础教程:创建良好设计的代
- Delphi基础教程:从实作标题栏按钮
- Delphi基础教程:构件制作方法
- Delphi基础教程:开发自己的Delphi
- Delphi基础教程:改变VCL的行为--一
- Delphi基础教程:怎样获取未知DLL的
- Delphi基础教程:TQuery的结果到入
- Delphi基础教程:为什么要使用动态
- Delphi基础教程:在Delphi应用程序
- Delphi基础教程:Delphi中Memo组件
- Delphi基础教程:Delphi控制Excel2
- Delphi基础教程:Outlook的Automat
- Delphi基础教程:撰写及呼叫DLL程式
- Delphi基础教程:Delphi中实现OLE自
- Delphi基础教程:TQuery的结果到入
- Delphi基础教程:如何分析一个陌生
- Delphi基础教程:hook的dll源文件
- Delphi基础教程:DLL问题实例一则
- Delphi基础教程:利用Dll实现通用密
- Delphi基础教程:怎样在Delphi中调
- Delphi基础教程:修改Access数据库
- Delphi基础教程:用Delphi5编写调用
- Delphi基础教程:用Delphi编写DLL实
- Delphi基础教程:用Delphi制作DLL全
- Delphi基础教程:如何调试DLL型的向