- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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;//响应焦点离开控
您可能关注的文档
- BRC中文包装材料第三版090403.doc
- B股转H股专题研究:部分B股公司面临较好的投资机遇-2013-01-10.ppt
- BS EN 12516-4-2008工业阀外壳设计强度除钢以外的金属材料生产.doc
- C++语言程序设计课件 8第八讲——C++标准模板库.ppt
- C2C电子商务应用.ppt
- C6140普通车床实训课教案.doc
- c++教程第4章.ppt
- CAD命令大全,画画必备,186.doc
- CAD2006教程第1章.ppt
- CAM350基本命令.ppt
- 初中秋季运动会开幕式班级方阵入场解说词.docx
- 人教版高中数学选择性必修三 精讲精练7.3 离散型随机变量的数字特征(原卷版).docx
- 人教版高中物理选择性必修三 同步精讲精练专题2.2 气体的等温变化(原卷版).docx
- 2025届吉林省长春市高三上学期质量监测(一)历史试卷.docx
- 3.6丝竹相和 课件-2024-2025学年高中音乐人音版(2019)必修 音乐鉴赏.pptx
- 云南省大理州2024-2025学年高三上学期第一次统一检测地理试题.docx
- 序篇 不忘初心(第一课时)课件-2024-2025学年高中音乐人音版(2019)必修 音乐鉴赏.pptx
- 2025届四川省泸州市合江县高三上学期一模语文试题.docx
- 2025届浙江省宁波市高三上学期一模技术试题-高中信息技术.docx
- 2025届浙江省台州市高三第一次教学质量评估语文试卷.docx
文档评论(0)