我有一个窗口,我处理WM_NCLBUTTONUP消息,以处理标题栏中自定义按钮的点击.当窗口最大化时,这很有效,但是当窗口最大化时,WM_NCLBUTTONUP消息永远不会到达!我确实收到了WM_NCLBUTTONDOWN消息.奇怪的是WM_NCLBUTTONUP确实到了,如果我点击菜单栏的右边,但是在标题栏/窗口框架的任何地方,消息永远不会到达.
经过一段时间的调试后,我发现如果我在CMainFrame :: OnNcLButtonDown()上设置一个断点,点击标题栏,但按住鼠标按钮,让调试器在函数中断,点击F5继续调试,然后释放鼠标按钮 - 神奇地发送WM_NCLBUTTONUP !!
我的问题是双重的,(1)到底是怎么回事?(2)如何解决这个"问题".
我还注意到,互联网上还有其他几个人也有同样的问题(一个快速的谷歌显示很多其他人有同样的问题,但没有解决方案).
编辑
感谢前两个回复,我尝试在NCLButtonDown中调用ReleaseCapture,但它没有效果(事实上,它返回NULL,表示捕获不到位).我只能假设基类(def window proc)功能可以设置捕获.我将在星期一调查......