tcustompanel及其父类有好多的属性设为protected,使其子类可以有更灵活的选择,是否把这些属性显示到对象察看器中,如果想,则到published中重新声明这些属性就可以,我参考了一下tpanel的源码,并按需要选择了其中的一些属性声明到published中,注意哦,事件也是属性,只要你把它显化出来,就可以设置处理事件了。
四.以下是计数组件的源码,相信有了上面的讲解,应该不会很难了:
unit countunit;
interface
uses
sysutils,classes,graphics,controls,extctrls;
type
//用于设置时间事件发生的间隔
tinterval=(tenm,twentym,thirtym,fortym,fiftym,sixtym);
ttimecount=class(tcustompanel)
private
ftimer:ttimer;
fcount:integer; //只读私有成员,计数值
finterval:tinterval; //时间事件发生的间隔
factive:boolean; //决定是否发生间隔事件
timelen:integer;//发生事件的时间长度,以秒为单位。