如何检查鼠标是否位于某一 HWND 上方?我尝试过使用 WM_MOUSELEAVE 和 WM_MOUSEMOVE 消息来跟踪,但是如果您单击按钮并将鼠标拖出按钮,则在释放鼠标之前它不会收到 WM_MOUSELEAVE,这为时已晚,因为:
当您单击按钮时,仅在以下情况下才会发送 WM_COMMAND 消息:
1.鼠标最初是在按钮上按下的
2. 鼠标悬停在按钮上
3. 鼠标在按钮上方释放
我需要复制这个功能。
要复制此功能,只需调用SetCapture()
这样,即使鼠标离开窗口,鼠标消息也会发送到您的窗口。您可以在鼠标移动时读取当前鼠标位置,并确定它是否仍在您的窗口/按钮上(我仍然不能 100% 确定您在做什么)。并且,当释放鼠标按钮时,您可以调用ReleaseCapture()
恢复发送鼠标消息的位置。
EDIT:哦,你还可以使用 Windows API 函数WindowFromPoint()
确定鼠标位于哪个窗口上。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)