窗口最大化/最小化/恢复的 WM Windows 消息是什么?

1 c++ winapi win32gui

我知道WM_SIZEWM_SIZING,但是当用户使用系统菜单最大化或最小化窗口时是否会发送一条消息?

我需要在我的项目中捕获此事件,但我无法通过谷歌搜索出该消息是什么。

Rem*_*eau 7

WM_SYSCOMMAND

当用户从“窗口”菜单(以前称为系统或控制菜单)选择命令或选择最大化按钮、最小化按钮、恢复按钮或关闭按钮时,窗口会收到此消息。

wParam被设置为SC_MINIMIZESC_MAXIMIZE等。


Mic*_*kis 5

WM_SIZE描述:在窗口大小改变后发送到窗口。wParam 包含原因:

SIZE_MAXIMIZED 窗口已最大化。SIZE_MINIMIZED 窗口已最小化。SIZE_RESTORED 窗口已调整大小,但 SIZE_MINIMIZED 和 SIZE_MAXIMIZED 值都不适用。

简而言之,无论是什么导致调整大小,都会发送 WM_SIZE。单击最大化按钮相当于从系统菜单中选择最大化选项。

如果您出于某种原因想要将鼠标单击与菜单选择区分开来,您可以使用 WM_NCMOUSEMOVE 来检测鼠标移动到右上角。

  • 这取决于绘图位图。在任何情况下,您都不应在 WM_SIZE 上绘制,而应在 WM_PAINT 上绘制,这可确保任何大小都是正确的(在 WM_PAINT 中使用 GetClientRect())。 (3认同)