1.当WinMain函数调用CreateWindow时,窗口过程收到WM_CREATE消息,而第一条WM_SIZE消息就发生在那之后(准确的说是WinMain调用ShowWindow函数时)【相关应用汇总:因此①可以在窗口过程的WM_SIZE处理中获取字体的高度和宽度;②可以获取窗口(客户区)的宽度和高度(59页和81页有WM_SIZE相应lParam变量的解释);③可以对滚动条进行诸如SetScrollInfo的初始化工作】。 ——《Windows程序设计》82页
另:在许多Windows程序这个I报告,WM_SIZE消息后经常会有一个WM_PAINT消息。因为定义窗口类时,通常指定了如下的窗口风格:
CS_HREDRAW | CS_VREDRAW
它告诉Windows在窗口水平或垂直尺寸变化时强制重绘
2.“Sent to a window after its size has changed.” 【相关应用汇总:因此①在WndProc处理WM_SIZE消息的时候设定滚动条的范围相对于在WM_CREATE中更合适(客户区大小改变后,滚动条页需要做出相应调整),例如SetScrollInfo的使用;②缩放编辑控件的动作也应该放在此处,除以上原因以外,还因为此动作需要获取客户区大小,因此需要WM_SIZE的lParam】 ——更多信息参见MSDN,链接如下:
http://msdn.microsoft.com/zh-cn/library/ms632646(v=vs.100)
或
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632646(v=vs.85).aspx
3.
_________________________________________________________________________________
WM_PAINT
至于WM_PAINT消息的触发事件,在《Windows程序设计(第5版)珍藏版》第64页有一个列表,另外,第56页的WM_PAINT消息做了一个系统的阐述
_________________________________________________________________________________
2013-06-10
WM_VSCROLL或WM_HSCROLL
当用户单机滚动条或者拖动滑块时,Windows向窗口过程发送WM_VSCROLL或WM_HSCROLL消息。在滚动条上的任何鼠标动作会产生至少两条消息:一条在鼠标按下时,另一条在鼠标松开时。
Windows will not change the posit ion of the scroll bar thumb. Your applicat ion does that by calling SetScrollPos .
——《Windows程序设计》85页
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>