从CButton派生了一个类CTestButton,加上了消息响应函数:CTestButton::OnLButtonUp也就是鼠标弹起的事件。当我点下鼠标,并移出按钮区域再松开时,CTestButton::OnLButtonUp是正常响应的。问题在下面的情况:当我把点下鼠标并移出按钮区域时,程序打开或关闭了一个非模态窗口(比如用快捷键或者其他的触发机制,不是用鼠标),再松开鼠标,这时CTestButton::OnLButtonUp就不响应了。请问有什么解决办法吗,感谢您的关注。
解决方案 »
- DestroyWindow与PostNcDestroy消息有啥区别呢???
- 0xffffffff是不是等于-1
- Tapi 安装。自动 windows下边。。我注册表里改了。telephony \Providers
- 对一个选定的数据库进行再次操作的问题?
- 请教一个常识
- 如何让一个应用程序关联多个文件类型?
- 我需要一个汉字的字库和词库,请问在什么地方能够得到?或者怎么可以从一个输入法程序中导出词库或词库?多谢。
- 关于CArray二维数组的使用赋值问题
- 在Windows XP下如何为VC++.NET的应用程序进行打包发布,使得在非.NET平台下(如win98、winME、win2000等)也能使用??
- 小弟想要一个封装好的对jpg图片解码和编码的类
- TreeCtrl伸缩按钮重绘?
- 中英文映射
LButtonUp的时候要ReleaseCapture
用此来锁定鼠标的控制。
如果鼠标移出Button区域就关窗口
这个不是我的本意哦,我是想捕获到LButtonUp这个事件发生的时候的。
这个方法不管用,貌似CButton本身就有处理Capture,我感觉就是因为涉及到对话框的创建与销毁导致了Capture出了问题。
点下,你还是用以前的方法,在弹起时,截取消息:
if(pMsg->message == WM_LBUTTONUP)
此时触发WM_CANCELMODE事件,之后的鼠标消息跟这个按钮已经没有关系了。
谢谢你的回复,试了一下也不行,WM_LBUTTONUP这个消息貌似就没有产生过。
这个事件让我学到了新东西,感谢~我在CTestButton与各个窗口的WindowProc里断点WM_CANCELMODE消息,在点下鼠标并移出按钮区域时,用快捷键打开窗口,这个消息没有产生,是否是我理解有误?
WM_CAPTURECHANGED消息确实是事件的发生点,多谢了~