当前位置: 代码迷 >> VC/MFC >> vc6.0键盘鼠标消息是子窗口先擒获还是父窗口先捕获
  详细解决方案

vc6.0键盘鼠标消息是子窗口先擒获还是父窗口先捕获

热度:365   发布时间:2016-05-02 03:43:17.0
vc6.0键盘鼠标消息是子窗口先捕获还是父窗口先捕获
我用vc6.0写的单文档程序。View窗口有多个子窗口
      鼠标滚轮消息
               有时候View窗口先捕获, 我在子窗口上随便点一下,就变成只窗口先捕获了。
      
------解决思路----------------------
VC的程序,如果你没有自己中转消息的话,消息通常是不会按照依赖树传递的。
通常都是当前拥有交点的窗口(或者子窗口)能捕获的消息,并处理。
------解决思路----------------------
一般先是子窗口捕获,通常先view后frame
------解决思路----------------------
点的谁谁捕获,你可以测试一下,在子窗口和父窗口分别加一个onleftbuttondown消息响应函数,分别下上断点,运行一下就知道了
------解决思路----------------------
这和VC无关,是win的机制;键盘消息都是传递给有焦点的窗口,鼠标消息一般传递最顶层的窗口(如果某个窗口SetCapture,则鼠标传给鼠标捕获的窗口)
------解决思路----------------------
消息的触发最开始都是点击的该控件,然后会通过一个函数指针跳转主窗口的WindowProc,然后根据控件反射绑定和消息映射绑定往子级走
  相关解决方案