检测窗口何时停止移动?

Posted

技术标签:

【中文标题】检测窗口何时停止移动?【英文标题】:Detect when a Window has stopped moving? 【发布时间】:2012-11-21 01:16:54 【问题描述】:

有谁知道如何检测 Win32(c++) 窗口是否停止移动?

WM_MOVE 检测窗口何时移动,但如何检测它何时停止移动?

【问题讨论】:

你并不真正知道它在移动,你所知道的只是已经移动。区别很微妙。 那么,WM_MOVE 在窗口不移动时触发?编辑:你是对的。 是的,在窗口移动后发送。 WM_MOVE message (Windows). 【参考方案1】:

您要处理的 windows 消息是WM_EXITSIZEMOVE

WM_EXITSIZEMOVE message (Windows) @ MSDN

根据您希望完成的任务,您还可以通过对WM_NCLBUTTONUP 做出反应来获得更好的服务,当鼠标按钮在窗口的非客户区域中释放时发送,例如带有标题、边框镶边等的任何窗口的标题栏。

WM_NCLBUTTONUP message (Windows) @ MSDN

【讨论】:

谢谢,非常有帮助! 不客气。此外,以防万一您还没有听说过,Spy++/Spyxx 对于调试和跟踪此类 Windows 消息非常有用。 msdn.microsoft.com/en-us/library/dd460760.aspx

以上是关于检测窗口何时停止移动?的主要内容,如果未能解决你的问题,请参考以下文章

检测何时使用 JavaScript 调整窗口大小?

检测窗口垂直滚动条何时出现

Windows/C++:检测窗口之间焦点何时改变(全局)

检测窗口垂直滚动条何时出现

子窗口可以知道何时移动父窗口吗?

MFC:是不是有事件检测 CDockablePane 派生窗口何时通过滑出或显示打开?