mfc关于非客户区的鼠标事件

要响应mfc中的非客户区事件一般重载OnNC方法,比如说OnNCLBUTTONDOWN(),OnNCLButtonUP()。但是重载时,却发现OnNCLButtonUP()要双击才会被触发,单击根本不会有反应。这是什么原因呢?在百度上一搜很多人说要做钩子。但我想为了一个OnNCLButtonUP()去做一个钩子,是不是太复杂啊。应该有更为简单的办法吧。于是就想是不是在触发OnNCLButtonUP()之前鼠标被别的事件捕获了,并且做了处理呢?而OnNCLBUTTONDOWN又能正常响应。那么这个事件应该介于OnNCLBUTTONDOWN()和OnNCLButtonUP()之间。难道是OnNCMouseMove()?那就重载OnNCMouseMove试一下。果然重载之后OnNCLButtonUP()就能正常响应了。但有一点要特别注意就是在重载的OnNCMouseMove中不能调CDialog的OnNCMouseMove方法。否则OnNCLButtonUP()还是要双击才能响应。我想大概是在CDialog的OnNCMouseMove方法中做了些对鼠标消息的处理吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值