【发布时间】:2019-08-21 13:15:42
【问题描述】:
我知道WM_SIZE和WM_SIZING,但是当用户使用系统菜单最大化或最小化窗口时是否有消息发送?
我需要在我的项目中捕获此事件,但我无法通过 Google 搜索到消息内容。
【问题讨论】:
我知道WM_SIZE和WM_SIZING,但是当用户使用系统菜单最大化或最小化窗口时是否有消息发送?
我需要在我的项目中捕获此事件,但我无法通过 Google 搜索到消息内容。
【问题讨论】:
WM_SYSCOMMAND当用户从窗口菜单(以前称为系统或控制菜单)中选择命令或用户选择最大化按钮、最小化按钮、恢复按钮或关闭按钮时,窗口会收到此消息。
wParam 将设置为 SC_MINIMIZE、SC_MAXIMIZE 等。
【讨论】:
WM_SIZE 描述:在窗口大小改变后发送到窗口。 wParam 包含原因:
SIZE_MAXIMIZED 窗口已最大化。 SIZE_MINIMIZED 窗口已最小化。 SIZE_RESTORED 窗口已调整大小, 但 SIZE_MINIMIZED 和 SIZE_MAXIMIZED 值均不适用。
简而言之,无论是什么原因导致调整大小,都会发送 WM_SIZE。点击最大化按钮相当于从系统菜单中选择最大化选项。
如果您出于某种原因想要区分鼠标单击和菜单选择,可以使用 WM_NCMOUSEMOVE 来检测鼠标移动到右上角。
【讨论】: