鼠标滚轮消息似乎只会发给当前获得焦点的窗口,所以当子窗体没有焦点时是收不到滚轮消息的,收到消息的可能是父窗口。
解决:添加鼠标单击相应函数,在响应函数中添加SetFoucs();一句,这样强制设置焦点给子窗口,然后再滚动鼠标滚轮,子窗体就能收到滚轮消息了。
问题继续,当子窗口上有其他可以获得焦点的控件时,比如下拉列表,这时在窗口函数中执行SetFoucs();焦点会自动跑到那个控件上去,子窗口同样收不到滚轮消息。
解决:在执行SetFoucs();语句前先Disable子窗体上的所有控件,然后执行SetFoucs();,再Enanle所有控件,这时焦点才会在子窗口上。
本文转自:http://blog.csdn.net/vanship/article/details/4119246
posted on 2014-05-08 16:33
王海光 阅读(4626)
评论(0) 编辑 收藏 引用 所属分类:
MFC