微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 捕获最后一个WM_SIZE

当我调整窗口大小时,我想告诉我的程序的另一部分,我的窗口已经改变了大小.我在 MSDN读:

WM SIZE消息
WM SIZE消息在其大小更改后发送到窗口.

但是,即使拖动,我也收到WM_SIZE.
我注意到,当我的窗口调整大小时,还发送了一个WM_SIZING消息.目前我看不到WM_SIZE和WM_SIZING之间的区别.

有没有一些方法可以捕获最后一个WM_SIZE消息,而不是“垃圾邮件”我的程序与调整大小的消息?

解决方法

当您开始拖动窗口时,系统将进入模态移动/调整大小循环;在拖动操作完成之前,它不会返回到您自己的消息循环.您仍然得到WM_SIZE,因为它直接发送到窗口过程,但它不会流经您自己的消息循环.

在这种模态拖动操作的开始,系统将WM_ENTERSIZEMOVE发送到您的窗口过程.当您释放鼠标按钮时,您的应用程序将获得WM_EXITSIZEMOVE.这可能是您要触发的消息.

原文地址:https://www.jb51.cc/c/115248.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐