用于消息处理的函数又叫窗口过程,在这个函数中,不同的消息将用switch语句分配到不同的处理程序中去。Windows的消息处理函数都有一个确定的统一方式,即这种函数的参数个数和类型以及其返回值的类型都有明确的规定。 在HelloWin.c中,WinProc函数明确处理了3个消息,分别是WM_CREATE(创建窗口消息)、WM_PAINT(窗口重画消息)、WM_DESTROY(销毁窗口消息)。
事实上,应用程序发送到窗口的消息远远不止以上这几条,像WM_SIZE、WM_MINIMIZE、WM_MOVE等这样经常使用的消息就有好几十条。为了减轻编程的负担,Windows的API提供了DefWindowProc函数来处理这些最常用的消息,调用这个函数后,这些消息将按照系统默认的方式得到处理。
因此,在switch语句中,只需明确处理那些有必要进行特别响应的消息,把其余的消息交给DefWindowProc函数来处理,即将消息的控制交由Windows进行默认处理,这是一种明智的选择