社区
VCL组件使用和开发
帖子详情
如何得到TControl类的对象的句柄?或者,如何自行响应和处理TControl对象的消息?
Libran
2002-11-11 01:56:45
另外,怎样通过Compoments[i]知道该Compoment是否是从TControl继承?是从TWinControl还是TGraphicControl继承?
...全文
82
8
打赏
收藏
如何得到TControl类的对象的句柄?或者,如何自行响应和处理TControl对象的消息?
另外,怎样通过Compoments[i]知道该Compoment是否是从TControl继承?是从TWinControl还是TGraphicControl继承?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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获取控件
句柄
,并获取属性源码
Delphi获取鼠标指定的空间的
句柄
,并获取控件的
类
名和属性值。鼠标拖动点击的特效,非常实用,功能简单,自己开发勿喷。
DELPHI中的
消息
处理
机制[文].pdf
DELPHI中的
消息
处理
机制[文].pdf
Delphi_的
消息
机制浅探.doc
Delphi_的
消息
机制浅探.doc
VCL继承关系全图。
类
的继承关系图
VCL继承关系全图 就是
类
的继承关系图。方便查看,使用
VCL 组件继承关系图 For D7 (电子资料)
VCL 组件继承关系图,PDF 文档,DELPHI7版本。
VCL组件使用和开发
604
社区成员
13,456
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章