发送时间:当窗口大小改变时.
详细时间:1.当窗口大小改变时,如最大化,最小化,用鼠标拉伸窗口.
2.当窗口刚被创建时
参数说明:
wParam:
Specifies the type of resizing requested.
通常用来向别的窗口发送消息时,需要指定的附加信息
Value | Meaning |
SIZE_MAXHIDE | Message is sent to all pop-up windows when some other window is maximized. |
SIZE_MAXSHOW | Message is sent to all pop-up windows when some other window has been restored to its former size. |
SIZE_MINIMIZED | The window has been minimized. |
Value | Meaning |
SIZE_RESTORED | The window has been resized, but neither the SIZE_MINIMIZED nor SIZE_MAXIMIZED value applies. |
lParam:
The low-order word of lParamspecifies the new width of the client area.
The high-order word of lParam specifies the new height of the client area.
note:
lParam和GetClientRect的功能一样,有时候WM_SIZE的效率要比使用GetClientRect高. 可以在程序中使用WM_SIZE来保存Client area的大小方便以后使用.
WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!
WM_SIZE附带的信息:
WM_SIZE
fwSizeType = wParam; // resizing flag
nWidth = LOWORD(lParam); // width of client area
nHeight = HIWORD(lParam); // height of client area
fwSizeType = wParam; // resizing flag
nWidth = LOWORD(lParam); // width of client area
nHeight = HIWORD(lParam); // height of client area
告诉我们Windows处理窗口大小变化后新窗口客户区的大小.
Message Cracker
void
Cls_OnSize(HWND hwnd, UINT state,
int
cx,
int
cy)
... {
//do ...
}
... {
//do ...
}
参数cx,cy是新窗口客户区的大小!宽度和高度