学习MFC第二天——1些基础(3)

时间:2022-05-21 19:51:50

取消息函数

 

BOOL GetMessage(
LPMSG lpMsg, //指向消息结构体
HWND hWnd, //指定接收消息窗口
UINT wMsgFilterMin, //获取消息最小值
UINT wMsgFilterMax //获取消息最大值
);


简单的消息循环

 

MSG msg;
While(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

Windows应用程序的消息处理过程:

1.操作系统接收到应用程序的窗口消息,将消息投递到该应用程序的消息队列中

2.应用程序在消息循环中调用GerMessage函数从消息队列中取出一条一条的消息。取出消息后,应用程序可以对消息进行一些预处理。

3.应用程序调用DispatchMessage,将消息回传给操作系统。

4.系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。

 

窗口过程函数

 

LRESULT CALLBACK WindowProc(
HWND hwnd, //窗口句柄
UINT uMsg, //消息表示
WPARAM wParam, //第一个消息的附加参数
LPARAM lParam //第二个消息的附加参数
);