当我调整窗口大小时,我想告诉我程序的另一部分我的窗口已经改变了大小。我在MSDN上读到:
WM SIZE留言
WM SIZE消息在其大小发生变化后发送到窗口。
但是,即使在拖动时我也会收到WM_SIZE。 我注意到,当我的窗口调整大小时,还会发送一条WM_SIZING消息。目前我没有看到WM_SIZE和WM_SIZING之间的区别。
是否有某种方法可以捕获最后一条WM_SIZE消息,以便不通过调整大小消息“垃圾”我的程序?
答案 0 :(得分:17)
当您开始拖动窗口时,系统会进入模态移动/调整大小循环;在拖动操作完成之前,它不会返回到您自己的消息循环。您仍然获得WM_SIZE
,因为它直接发送到窗口过程,但它不会流经您自己的消息循环。
在这种模态拖动操作开始时,系统会将WM_ENTERSIZEMOVE
发送到您的窗口过程。当您释放鼠标按钮时,您的应用程序将获得WM_EXITSIZEMOVE
。这可能是您要触发的消息。