社区
VCL组件使用和开发
帖子详情
如何得到TControl类的对象的句柄?或者,如何自行响应和处理TControl对象的消息?
Libran
2002-11-11 01:56:45
另外,怎样通过Compoments[i]知道该Compoment是否是从TControl继承?是从TWinControl还是TGraphicControl继承?
...全文
61
8
打赏
收藏
如何得到TControl类的对象的句柄?或者,如何自行响应和处理TControl对象的消息?
另外,怎样通过Compoments[i]知道该Compoment是否是从TControl继承?是从TWinControl还是TGraphicControl继承?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lewolf
2002-11-12
打赏
举报
回复
寻找某个位置的控件,使用TWincontrol的ControlAtPos方发,希望几个控件响应同一个事件处理函数,可以使用Sender参数作为判断是那个控件触发的事件。
Libran
2002-11-11
打赏
举报
回复
详细点儿说:
我需要响应Form上的某个不确定的可视控件的鼠标事件,想到的方法是:
1,判断Compoment[i]是否为可视控件,我的判断是看它是否从TControl继承;
2,拦截消息,我打算重置WndProc,但若非TWinControl无法获得其句柄;
3,能否通过鼠标点击即获得该位置的Control?
例如:
Form上可能有几个Edit、Button或者Panel,我要做到任选其中一个,响应它的MouseDown事件,有什么好办法?
huzhangyou
2002-11-11
打赏
举报
回复
如果是
给我一点
如果不是
就算了
信仰只好555555555地走了
huzhangyou
2002-11-11
打赏
举报
回复
libran你是不是放分来了?
烟波三千里人鬼五百年
2002-11-11
打赏
举报
回复
dynamic_cast在类型转换失败的时候会返回一个NULL指针,据此就可以达到你的目的。
代码如 ljianq() 所言.....
ljianq
2002-11-11
打赏
举报
回复
TControl应该没有句柄,TWinControl才有句柄;
判断Component是否是TControl可以这样:
for (int i=0;i<ComponentCount;i++) {
TControl* temp=dynamic_cast<TControl*>(Components[i]);
if (temp) //是从TControl
}
warton
2002-11-11
打赏
举报
回复
gz
pp616
2002-11-11
打赏
举报
回复
用ClassParenth函数
或用InheritsFrom函数可知道继承情况。
处理消息需要重载DefaultHandler可以对所有的消息进行默认处理。
delphi获取控件
句柄
,并获取属性源码
然后,获取控件的
句柄
,如上面的`
Control
Handle`变量所示,可以通过`T
Control
.Handle`属性获得。
句柄
可用于调用WinAPI函数,例如`GetClassName`来获取控件的
类
名: ```delphi uses Windows; function ...
DELPHI中的
消息
处理
机制[文].pdf
4. 用户先
处理
消息
,然后使用`inherited`命令调用祖先
类
的相应
处理
句柄
,如果祖先
类
没有对应
处理
句柄
,`inherited`会自动调用DefaultHandler。 例如,自定义一个
消息
处理
句柄
: ```pascal const MyPlant = WM_...
Delphi_的
消息
机制浅探.doc
文章通过TWin
Control
的例子详细阐述了
消息
如何从操作系统层面传递到控件,并最终被正确地
处理
和
响应
。 此外,文章还建议读者对Win32 SDK编程、Delphi的
对象
机制以及内嵌汇编语言有一定的了解,这将有助于更深入地...
VCL继承关系全图。
类
的继承关系图
控件的布局管理在VCL中也是非常重要的一个方面,由TWin
Control
类
来负责,它从T
Control
派生并添加了窗口
句柄
(HWND)的概念。TWin
Control
是所有具有窗口的VCL控件的基
类
,包括TLabel、TEdit、TListBox等。它们支持...
VCL 组件继承关系图 For D7 (电子资料)
接着,更具体的组件
类
如TCustom
Control
和TWin
Control
分别代表了没有可视表示的控制
类
和具有窗口
句柄
的可视控制
类
。TCustom
Control
是所有非窗口控件(如TPanel)的基
类
,而TWin
Control
则是所有窗口控件(如TForm、...
VCL组件使用和开发
604
社区成员
13,457
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章