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

时间:2019-03-31 01:16:17

标签: c++ winapi win32gui

我了解$JsonDataAdd = @" { "StaffName": "Name3", "StaffRating": "Rating3" } "@ $JsonData = @" [ { "Company": [ { "Finance": [ { "StaffName": "Name1", "StaffRating": "Rating1" } ], "HR": [ { "StaffName": "Name1", "StaffRating": "Rating1" }, { "StaffName": "Name2", "StaffRating": "Rating2" } ] } ] } ] "@ | ConvertFrom-JSON ($JsonData + ($JsonData.Company.HR += (ConvertFrom-Json $JsonDataAdd))) Company ------- {@{Finance=System.Object[]; HR=System.Object[]}} $JsonData.Company Finance HR ------- -- {@{StaffName=Name1; StaffRating=Rating1}} {@{StaffName=Name1; StaffRating=Rating1}, @{StaffName=Name2; StaffRating=Rating2}, @{StaffName=Name3; StaffRat... $JsonData.Company.Finance StaffName StaffRating --------- ----------- Name1 Rating1 $JsonData.Company.HR StaffName StaffRating --------- ----------- Name1 Rating1 Name2 Rating2 Name3 Rating3 $JsonData.Company | ConvertTo-Json { "Finance": [ { "StaffName": "Name1", "StaffRating": "Rating1" } ], "HR": [ { "StaffName": "Name1", "StaffRating": "Rating1" }, { "StaffName": "Name2", "StaffRating": "Rating2" }, { "StaffName": "Name3", "StaffRating": "Rating3" } ] } $JsonData | ConvertTo-Json -Depth 4 { "Company": [ { "Finance": [ { "StaffName": "Name1", "StaffRating": "Rating1" } ], "HR": [ { "StaffName": "Name1", "StaffRating": "Rating1" }, { "StaffName": "Name2", "StaffRating": "Rating2" }, { "StaffName": "Name3", "StaffRating": "Rating3" } ] } ] } WM_SIZE,但是当用户使用系统菜单最大化或最小化窗口时,是否会发送消息?

我需要在我的项目中捕获此事件,而我无法在Google上搜索出消息内容。

2 个答案:

答案 0 :(得分:3)

WM_SIZE描述:更改大小后发送到窗口。 wParam包含以下原因:

  

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

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

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

答案 1 :(得分:1)

WM_SYSCOMMAND

  

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

wParam将设置为SC_MINIMIZESC_MAXIMIZE等。