首页 > 代码库 > WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!
WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!
procedure WMSize (var Message: TWMSize); message WM_SIZE;
参数说明
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
告诉我们Windows处理窗口大小变化后新窗口客户区的大小.
Message Cracker
void Cls_OnSize(HWND hwnd, UINT state, int cx, int cy)
...{
//do ...
}
参数cx,cy是新窗口客户区的大小!宽度和高度
注意cx,cy最好定义为全局或是静态的,例子如下
static UINT cx,cy;
switch (message)
{
case WM_SIZE:
cx=LOWORD(lParam);
cy=HIWORD(lParam);
break;
http://www.cnblogs.com/toosuo/p/3387827.html
WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。