消息循环
while (GetMessage (&msg, NULL, 0, 0)) // 32:消息循环
{
TranslateMessage (&msg) ; //33:消息转换
DispatchMessage (&msg) ; //34:分派消息
}
上述代码为主程序的消息循环,它是一个while循环。是整个程序运行的泵。
GetMessage 函数从窗口消息队列中取出消息。
GetMessage的函数原型如下:
BOOL GetMessage(
LPMSG lpMsg, // 指向MSG结构体变量的指针
HWND hWnd, // 窗口句柄
UINT wMsgFilterMin, // 消息过滤时最小的消息代码
UINT wMsgFilterMax //消息过滤时最大的消息代码
);
LPMSG lpMsg, 是一个指向MSG结构体对象的指针。
HWND hWnd, 是消息队列所属的窗口的窗口句柄。
UINT wMsgFilterMin,UINT wMsgFilterMax会对消息代码进行过滤。及GetMessage 函数只会从窗口的消息队列中取出大于