首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于消息驱动的有关问题

2013-10-19 
关于消息驱动的问题当我点击窗体上的一个按钮时,点击的消息是由系统发给窗体呢,还是直接发送给此按钮?还有

关于消息驱动的问题
当我点击窗体上的一个按钮时,点击的消息是由系统发给窗体呢,还是直接发送给此按钮?

还有一个问题是,系统是如何判断,点击是点在了窗体上还是按钮上的呢?

谢谢大家 
[解决办法]
(1)同时发给了按钮,和窗体(通知消息)。

(2)响应Click的是因为Button收到了WM_CLICK
[解决办法]

引用:
Quote: 引用:

(1)同时发给了按钮,和窗体(通知消息)。

(2)响应Click的是因为Button收到了WM_CLICK


有个问题,您在(1)中说   同时发给了按钮,和窗体(通知消息)。 应该是这两个控件都接收到了WM_CLICK,而又在(2)中说  响应Click的是因为Button收到了WM_CLICK,  (1)中不是说窗体也接收到了WM_CLICK吗


不是,窗口收到的是通知消息,不是单击。
[解决办法]
引用:
(1)同时发给了按钮,和窗体(通知消息)。

(2)响应Click的是因为Button收到了WM_CLICK


窗口还能收到按钮的点击?
[解决办法]
只发给了系统,再有系统转发至窗口所在线程,再由线程取出消息发到窗口的 callback 过程

系统内部维系着桌面区域逻辑记录,有个api: windowfrompoint ,从鼠标坐标获取控件句柄,这个api就可以实现你知道的功能,但系统内部应该是更为复杂的识别过程,而不是简单的 windowfrompoint
[解决办法]
补充一句, 你的点击并不直接产生消息,而是由系统“翻译”成消息后才发到你程序上的

热点排行