- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章Delphi自定义组件的开发 Delphi不仅是一个优秀的可视化编程工具,而且还可以用来编写自定义的组件。 要创建一个组件,很简单。 首先,要选择一个祖先类;然后,用Delphi提供的组件专家生成组件的框架; 接着,加入自己的属性、方法和事件;最后,把组件安装在IDE中。 2.1??? 选择祖先类 2.2??? 建立组件框架 2.3??? 加入属性 2.4??? 加入方法 2.5??? 加入事件 2.1 选择祖先类 编写组件的首要工作就是选择一个合适的祖先类。 Delphi允许选择现有的组件作为祖先类, 不过,一定要精心选择其中最合适的组件作为祖先类,因为祖先类选择得好,可以使创建新组件的工作得到最大程度的简化。 反之,如果选的祖先类不合适,不但给创建新组件造成困难,甚至无法实现。 2.1.1 公共祖先类 Delphi是一个真正面向对象的编程工具,它提供了一个符合工业标准的组件库(VCL)。 尽管VCL中的组件千差万别,但它们都是从几个共同的祖先类继承下来的,最顶层的是TObject, 接下来是TPersistent,再下面是TComponent。 TComponent是所有VCL组件的祖先类。 尽管所有组件都是从TComponent继承下来的,但直接继承的只有少数几个非可视的组件如TTimer、TDataSource等, 其他组件则是从TComponent的下级TControl继承下来的,从TControl继承下来的组件是可视组件(也称为控件)。 TControl又有几个继承者,其中TWinControl是窗口控件的祖先类,TGraphicControl是非窗口控件的祖先类。 TCustomControl混合了TWinControl和TGraphicControl的优点,它既具有窗口控件的特征,又有Canvas属性和Paint方法。 因此,自定义的组件一般选择TCustomControl作为祖先类。 2.1.2 现有的组件 除了上述公共祖先类外,还可以选择组件选项板上现有的组件作为祖先类,选择现有的组件作为祖先类是创建组件的捷径。 一般来说,如果要创建一个全新的组件,就选择公共祖先类作为组件的祖先类。 如果要创建的组件与某个现有的组件类似,只是少数地方需要重新定义,建议选择现有的组件作为祖先类。 一般来说,如果要在现有组件的基础上进行扩展,也就是说要增加功能,应当直接选择组件作为祖先类。 如果要在现有组件的基础上进行精简,也就是说要去掉某些功能,就不能直接选择组件作为祖先类, 因为祖先类的所有成员(私有的除外)理所当然地成为派生类的成员,这种情况下应当选择组件的抽象上级作为祖先类。 2.1.3 组件模板 有时候,仅仅是对组件的某些属性的默认值不满意,这时候不一定要创建一个新组件,可以创建一个组件模板。 要创建组件模板,先要把一个或几个组件放到Form上,修改它们的属性, 然后选择这些组件,再使用“Component”菜单上的“Create Component Template”命令, Delphi将自动把选择的组件及其属性值保存到一个组件模板文件中, 并且自动在组件选项板上增加一页(默认是“Templates”页),把新创建的组件模板加在这一页上。 以后就可以把组件模板当作一个复合的组件放到Form上,这个组件的属性具有自定义的默认值,从效果看,相当于创建了一个新组件。 Delphi会自动解决可能发生的组件名冲突的问题。 2.1.4 选择祖先类的建议 在创建组件之前,应当冷静而全面地考虑一下,究竟选择什么作为新组件的起点。 一般来说: 如果要创建一个非可视的组件,就选择TComponent作为祖先类。 如果要创建一个全新的窗口控件,就选择TWinControl作为祖先类。 如果要创建一个全新的图像控件,就选择TGraphicControl作为祖先类。 如果要创建一个全新的同时兼具窗口控件和图像控件特征的组件,就选择TCustomControl作为祖先类。 如果要创建的组件与现有的组件类似,就选择现有的组件或该组件的直接上级作为祖先类。 如果只是想修改组件的某些属性的默认值,不必创建一个新组件,只需创建一个组件模板。 在创建组件之前,必须对Delphi面向对象的编程思想和语法有深刻的理解,最好还要对组件选项板上已
您可能关注的文档
- Delphi程序设计基础 第2版 普通高等教育“十一五”国家级规划教材 张世明 第7章-工具栏和状态栏设计.ppt
- Delphi程序设计基础 第2版 普通高等教育“十一五”国家级规划教材 张世明 第8章-Delphi图形及多媒体应用.ppt
- Delphi程序设计基础 第2版 普通高等教育“十一五”国家级规划教材 张世明 第9章-数据库编程.ppt
- Delphi程序设计基础 第2版 普通高等教育“十一五”国家级规划教材 张世明 第10章-报表与图表.ppt
- Delphi程序设计基础 作者 张世明 第1章.ppt
- Delphi程序设计基础 作者 张世明 第3章.ppt
- Delphi程序设计基础 作者 张世明 第4章.ppt
- Delphi程序设计基础 作者 张世明 第5章.ppt
- Delphi程序设计基础 作者 张世明 第7章.ppt
- Delphi程序设计基础 作者 张世明 第8章.ppt
- Delphi软件开发技术 作者 张世明13316-Delphi软件开发技术教案(做完) P4.ppt
- Delphi软件开发技术 作者 张世明13316-Delphi软件开发技术教案(做完) P6.ppt
- Delphi软件开发技术 作者 张世明13316-Delphi软件开发技术教案(做完) P7.ppt
- Delphi软件开发技术 作者 张世明13316-Delphi软件开发技术教案(做完) P8.ppt
- Delphi软件开发技术 作者 张世明13316-Delphi软件开发技术教案(做完) P9.ppt
- DHTML动态网页设计 作者 王愉 CSS__I.ppt
- DHTML动态网页设计 作者 王愉 CSS课件III.ppt
- DHTML动态网页设计 作者 王愉 -HTML.ppt
- Director 11多媒体开发应用教程 作者 978-7-302-29610-2 charpter01.ppt
- Director 11多媒体开发应用教程 作者 978-7-302-29610-2 charpter02.ppt
文档评论(0)