【发布时间】:2014-09-22 18:08:02
【问题描述】:
是否有人知道在调整大小事件结束时发送的消息(例如双击应用栏、最大化按钮单击、拖动到屏幕顶部……),一个很好的例子是 WM_EXITSIZEMOVE,但它是仅在窗口大小栏拖动结束时。
所以我的问题是,它是否存在在任何大小调整事件发生时被调用的消息,在它的末尾(不像 WM_SIZE)?
【问题讨论】:
标签: winapi resize message wndproc
是否有人知道在调整大小事件结束时发送的消息(例如双击应用栏、最大化按钮单击、拖动到屏幕顶部……),一个很好的例子是 WM_EXITSIZEMOVE,但它是仅在窗口大小栏拖动结束时。
所以我的问题是,它是否存在在任何大小调整事件发生时被调用的消息,在它的末尾(不像 WM_SIZE)?
【问题讨论】:
标签: winapi resize message wndproc
您将收到一条WM_WINDOWPOSCHANGED 消息,其中SWP_NOSIZE 标志在任何调整事件结束时被清除。除了WM_EXITSIZEMOVE 之外,没有其他消息表明调整已完成,这表明模态移动/调整循环的结束。如果你得到WM_WINDOWPOSCHANGED 而之前没有得到WM_ENTERSIZEMOVE,那么你可以假设你没有被模态地调整大小。
【讨论】:
SWP_FRAMECHANGED 以说明添加/删除菜单、添加/删除滚动条或从重叠更改边框 -> 弹出窗口,反之亦然。