我使用以下样式创建了无边界窗口: WS_VISIBLE | WS_POPUP | WS_OVERLAPPED
问题在于该窗口无法移动。我知道我可以做一些事情,例如获取鼠标单击位置,然后计算每次出现时窗口将结束的位置WM_MOUSEMOVE
。
但是这种解决方案并不稳定,因为当我过快地移动鼠标时,它会跳出窗口,然后它不会做出反应。我不想设置一个钩子,因为它们太慢了。我已经搜索了互联网,但是什么都没有出现。
我理想的情况是创建一个可以无边界或无标题移动的窗口,我不需要自己跟踪鼠标,但是Windows可以为我完成此操作,例如使整个窗口成为标题。
我知道我可以做一些事情,例如获取鼠标单击位置,然后计算每次出现时窗口将结束的位置
WM_MOUSEMOVE
。但是这种解决方案并不稳定,因为当我过快地移动鼠标时,它会跳出窗口,然后它不会做出反应。
您可以通过SetCapture
在收到鼠标单击时进行调用来解决此问题。然后,WM_MOUSEMOVE
即使鼠标光标离开窗口,您仍将继续接收。当用户完成拖动并释放鼠标光标后,您应该调用ReleaseCapture
。
我理想的情况是创建一个可以无边界或无标题移动的窗口,我不需要自己跟踪鼠标,但是Windows可以为我完成此操作,例如使整个窗口成为标题。
如果您确实要这样做,则可以回复该WM_NCHITTEST
消息并返回HTCAPTION
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句