请问:如何获取被单击对象的句柄?(只须讲一下思路及实现方法,勿须源码) 这对象也许是Button、checkbox、Form…… 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 什么意思?是不是只关心鼠标单击这个动作?那不是要捕获事件吗?这样行不行,在每个控件的Click中都条用要处理的过程,将Sender发过去就行了。 在那个被单击对象的CLICK事件里不是有sender吗? 对象的click事件中的Sender参数进行转化如:TButton(sender).Handle就能获得句柄 同意楼上的。但如果还不能满足楼主的要求,那么建议:参阅Win32 API:WindowFromPoint即可搞掂。(不好意思,俺也是最近刚知道的。现炒现卖!)此为拙见,祈为见谅。 再或者,if Sender is TWinControl then H := TControl(Sender).Handle OnClick事件都有一个参数Sender,这个就是被点击对象的入口指针(也就是被点击对象),所以在单击鼠标的事件这样作就可以了:var H:THandle;procedure Form1.SomeObjectClick(Sender:TObject);begin H:=(Sender as TControl).Handle;end; GetCursorPos(ptCursor); //获取鼠标位置hWndOver := WindowFromPoint(ptCursor); //获取鼠标下控件的句柄 agree with zfpcb(我是你的传说) delphi7 type中出现TIntegerField TStringField等,影响运行速度 请教一个内存映射的问题 在配置控件的属性的时候提示FROM 子句语法错误,WHY?? 在DBGridEh网格中实现排序及组合排序??!! 朋友们,帮帮我吧! 请高手指点迷津 APPBAR的应用问题 怎样清除图片? delphi7安装RC5.2 十万火急!请问如何在在DELPHI下有什么方法可以在客户端为服务器上的SQL SERVER增加权限用户??? 数据库高手帮帮忙,看看我这样的想法是否合理? 关于对话框的问题
是不是只关心鼠标单击这个动作?那不是要捕获事件吗?
这样行不行,在每个控件的Click中都条用要处理的过程,将Sender发过去就行了。
如:
TButton(sender).Handle
就能获得句柄
参阅Win32 API:WindowFromPoint即可搞掂。(不好意思,俺也是最近刚知道的。现炒现卖!)
此为拙见,祈为见谅。
if Sender is TWinControl then
H := TControl(Sender).Handle
var
H:THandle;
procedure Form1.SomeObjectClick(Sender:TObject);
begin
H:=(Sender as TControl).Handle;
end;
hWndOver := WindowFromPoint(ptCursor); //获取鼠标下控件的句柄