二、Windows自己的窗口—处理消息
窗口消息处理程序所接受的每个消息均是用一个数值来标识的,也就是传给窗口消息处理程序的message参数。Windows表头文件WINUSER.H为每个消息参数定义以「WM」(窗口消息)为前缀开头的标识符。
一般来说,Windows程序写作者使用switch和case结构来确定窗口消息处理程序接收的是什么消息,以及如何适当地处理它。窗口消息处理程序在处理消息时,必须传回0。窗口消息处理程序不予处理的所有消息应该被传给名为DefWindowProc的Windows函数。从DefWindowProc传回的值必须由窗口消息处理程序传回。
在HELLOWIN中,WndProc只选择处理三种消息:WM_CREATE、WM_PAINT和WM_DESTROY。窗口消息处理程序的结构如下:
switch (iMsg)
        
{
        
caseWM_CREATE :
        
  处理WM_CREATE消息
        
    return 0 ;
        
        
        
caseWM_PAINT :
        
   处理WM_PAINT消息
        
    return 0 ;
        
        
        
caseWM_DESTROY :
        
    处理WM_DESTROY消息
        
    return 0 ;
        
}
        
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
        
呼叫DefWindowProc来为窗口消息处理程序不予处理的所有消息提供内定处理,这是很重要的。不然一般动作,如终止程序,将不会正常执行。
