一个继承自TWinControl的自定义控件,为什么一用Handle属性就出错.

testnet 2002-10-20 03:40:09
我是这样创建的 sub:=TSubWinControl.Create(self);
当用sub.handle就出错。提示"has not parent window"
怎样解决
...全文
25 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
广州接入 2002-10-20
如果你的控件需要消息处理,你没有指定父窗口,Windows当然会认为你错。
  • 打赏
  • 举报
回复
广州接入 2002-10-20
补充:
因为TWinControl控件为可视控件,必然涉及到很多消息的处理,如重画自己。而WindowS操作系统消息机制就决定了任何可视控件(有消息处理的)都必须具有父窗口。
w1----w11
|__w12
|__w13____w131
|__w132
指定了父窗口就成为窗口树中的一个节点,也才能获得消息.
  • 打赏
  • 举报
回复
广州接入 2002-10-20
TWinControl控件都需要指定父窗口来决定怎样显示。
没有父窗口当然会出错。
sub.parent=你需要指定的窗口.
  • 打赏
  • 举报
回复
chechy 2002-10-20
是不是没有给控件指定一个Parent比如:
sub.Parent := Self;
然后在试试
sub.Handle
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi
加入

5094

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
申请成为版主
帖子事件
创建了帖子
2002-10-20 03:40
社区公告
暂无公告