MFC中子窗口鼠标滚轮无法响应

http://blog.csdn.net/vanship/article/details/4119246

鼠标滚轮消息似乎只会发给当前获得焦点的窗口,所以当子窗体没有焦点时是收不到滚轮消息的,收到消息的可能是父窗口。

解决:添加鼠标单击相应函数,在响应函数中添加SetFoucs();一句,这样强制设置焦点给子窗口,然后再滚动鼠标滚轮,子窗体就能收到滚轮消息了。

 

问题继续,当子窗口上有其他可以获得焦点的控件时,比如下拉列表,这时在窗口函数中执行SetFoucs();焦点会自动跑到那个控件上去,子窗口同样收不到滚轮消息。

解决:在执行SetFoucs();语句前先Disable子窗体上的所有控件,然后执行SetFoucs();,再Enanle所有控件,这时焦点才会在子窗口上。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值