控件开发小问题(易得分的噢) ( 积分: 20 )

  • 主题发起人 主题发起人 meyeth2004
  • 开始时间 开始时间
M

meyeth2004

Unregistered / Unconfirmed
GUEST, unregistred user!
诸君,我刚开始学DELPIHI,最近刚学到自定义组件.有一特别不好意思提的小问题:为什么自定义的控件须在窗体的oncreate中加入才行,像这样:
clock1:=Tclock.create(self);
clock1.Parent := Self;
才行,而直接在组件库里拖该组件图标入窗体,却只有显示,无法执行自定义组件内部定义的一些消息(如时间消息)
另外: 我在编译组件时会弹出一警告:method 'create' hides vitual method of base type TCustomPanel,这是什么意思?如何解决?
 
诸君,我刚开始学DELPIHI,最近刚学到自定义组件.有一特别不好意思提的小问题:为什么自定义的控件须在窗体的oncreate中加入才行,像这样:
clock1:=Tclock.create(self);
clock1.Parent := Self;
才行,而直接在组件库里拖该组件图标入窗体,却只有显示,无法执行自定义组件内部定义的一些消息(如时间消息)
另外: 我在编译组件时会弹出一警告:method 'create' hides vitual method of base type TCustomPanel,这是什么意思?如何解决?
 
你的 Create事件是声明成了Override的吧?
检查一下里面有没有写漏了Inherited create( AOwner )?
 
控件没有加入到delphi面板中当然不行啦
需要建立一个包,用Register函数注册
具体的例子你去看delphi5开发人员指南吧
用bingle.pku.edu.cn搜就有了
中国科大就有一个ftp外边可以连,里边有这本书
 
可能没有处理设计时和运行时不同状态,最好的参考是Delphi带的源码
 
"你的 Create事件是声明成了Override的吧?"-----我把override错写成overload(这是什么关键字?)导致上述两种错误!一改过来就什么问题没有啦.谢谢田伯光同学!!
 
Override是重载基类的事件……可以和基类中具有完全相同的声明体系
Overload是重载本类中的事件……返回值,参数,至少有一个必须不同
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
822
import
I
后退
顶部