摘要: 控件关联的实现控件的关联在Delphi中也是很常见的,我们可以设定一个控件的某个属性指向另一个控件。比如我们在窗体上放上Tedit,TpopupMenu两个控件,然后设定Tedit的PopupMenu属性为TpopupMenu控件,运行后在Tedit点击右键就会弹出刚才设定的那个TpopupMenu菜单,也就是说Tedit,TpopupMenu联手完成了任务。再比如TDBEdit控件的DataSource属性就可以指向一个TdataSource控件,这样就可以在TDBEdit控件中显示TdataSource输出的某个字段的值了。 下面我们将写一个简单的实现控件关联的控件。这个控件派生于Tedi 阅读全文
posted @ 2008-10-28 15:09 靓点博客 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 复合控件复合控件是Delphi控件中非常重要的一种控件,复合控件就是将两个或两个以上的控件重新组合成一个新的控件。例如TspinEdit、TlabeledEdit、TDBNavigator等就是复合控件,TDBNavigator其实就是在一个Panel放上若干个Button而已。制作一个复合控件时,我们一般从TwinControl派生控件。我们这次做的控件是拥有一个Edit编辑框和一个Button按钮的复合控件,在用户在编辑框中输入文字的过程中,Button将随时显示编辑框中文字的长度。我们把控件的源码先展示给大家。unit EditButton;interfaceuses SysUtils, 阅读全文
posted @ 2008-10-28 13:48 靓点博客 阅读(573) 评论(0) 推荐(0) 编辑
摘要: 我们这个控件将演示控件的自定义事件的书写。这个控件有一个类型为string的SensitiveText属性,当用户在输入框中输入的文字为InvalidText时就会触发OnSensitiveText事件。按照惯例,我先把源码展示给大家:unit TextSenseEdit;interfaceusesSysUtils, Classes, Controls, StdCtrls;typeTSensitiveTextEvent = procedure(AText: string) of object;//方法指针TTextSenseEdit = class(TEdit)privateFSensitiv 阅读全文
posted @ 2008-10-28 11:36 靓点博客 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 有人说过“不会开发控件的Delphi程序员不是真正的程序员”。Delphi正是由于高度的可扩展性和大量的第三方控件的支持才能吸引无数程序员挑剔的目光。即使是由于工作需要使用其他开发工具的开发者也常常怀念和Delphi度过的日日夜夜。接触Delphi已经一年多了,从当初对着Delphi组件面板上上百个控件不知所措,到现在已经可以根据需要开发一些有一定难度的控件,其中走过的路是十分艰辛的,所以特此写下这篇文章,将自己的经验留给后来者,也算是献给“同门师弟”的一份厚礼吧! 需要说明的一点是:在写这篇文章之前我假设读者已经对面向对象的基本知识有一定的了解,所以对于文章中面向对象相关的概念将不再展开讲. 阅读全文
posted @ 2008-10-28 10:00 靓点博客 阅读(701) 评论(0) 推荐(0) 编辑