delphi7控件制作.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
delphi7控件制作

摘 要:本文通过一个例子程序,系统、详细地介绍了如何设计Delphi的自定义控件,该控件代码技术难度不高,旨在说明Delphi控件的设计方法,包括自定义控件创建向导、代码设计、图标设计及控件发布。 Delphi语言受众多程序员追捧,主要原因之一就是它有很多第三方的控件可供使用。很多资深的Delphi程序员都把自己积累的函数、过程等设计成控件,以方便使用,提高开发效率。 本文通过一个只允许输入数字、并且可以设置输入值范围和小数点位数的编辑框控件的设计,详细介绍了控件的实现方法。该控件继承自edit控件,控件单元名称为NumEdit,控件类名称为TNumEdit。控件的实现主要分为4个阶段: 1、 建立控件原型。 2、 设计控件功能代码。 3、 设计控件图标。 4、 安装发布控件。 下面对这四个阶段进行介绍。 1、 建立控件原型。 我们可以通过Delphi向导建立控件原型。通过Delphi菜单File-New-Other 打开New Items对话框,然后在New属性页中选择Component,点击OK,弹出New Component对话框,在该对话框中设置控件的基本信息,如下图(图1.1): 图1.1 Ancestor type:选择你的控件要继承的类,我们选择TEdit(StdCtrls)。 Class Name:要创建的控件的类名称,我们设置为TNumEdit。 Palette Page:该自定义控件发布后将要停靠的控件面板。 Unit file name:该控件代码存放路径。 设置好上面信息后,点ok按钮,向导自动生成最原始的控件代码,如下: unit NumEdit; //单元名称 Interface uses //该控件需要调用的单元 SysUtils, Classes, Controls, StdCtrls; type TNumEdit = class(TEdit) //控件类,继承自TEdit private //私有成员 { Private declarations } protected //保护成员 { Protected declarations } public //公有成员 { Public declarations } published //发布成员 { Published declarations } end; procedure Register; //过程声明 implementation //下面函数功能是将控件TNumEdit的图标显示在Samples面板上。 procedure Register; begin Register Components(Samples, [TNumEdit]); end; end. 到目前为止,控件TNumEdit 已经具备了Tedit编辑框的所有功能,下面我们就可以在这个基础上设计我们需求的功能了 2、 设计控件功能代码。 首先我们知道,该控件功能需求有三个: 1)?????? 只允许输入数字。 2)?????? 可以设置输入范围,即可以设置输入数字的最小、最大值。 3)?????? 可以设置输入数字的小数点位数。 基于上面需求,我们的控件需要做如下几个方面处理: 1)?????? 继承控件接收的按键事件,如果按的不是数字键直接返回。 2)?????? 增加控件可以接收的最大值Max、最小值属性Min。 3)?????? 增加控件小数点设置的属性dotnum。 4)?????? 响应控件焦点离开消息(cm_exit),在这里处理控件中录入的内容,使其大于Min、小于Max且小数点位数等于dotnum。 下面结合该控件代码,通过代码的注释介绍我们详细的处理过程。 unit NumEdit; //单元名称 interface uses //该控件需要调用的单元  SysUtils, Classes, Controls, StdCtrls; type  TNumEdit = class(TEdit) //控件类,继承自TEdit  private //私有变量声明 FMin, FMax: Extended; //编辑框允许输入的最大最小值。 Fdotnum:Cardinal; //小数点后位数个数 procedure CMExit(var Message: TCMExit); message cm_exit;//响应焦点离开控

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档