/*****************************************************************************************************
windows的消息驱动机制:
* 1--在应用程序中,当应用程序的窗口中发生事件或者产生消息的时候,操作系统将事件封装成一个消息结构体
* 的变量,这个消息结构体变量的具体形式如下所示,MSG这个结构体就包含了消息产生的窗口hwnd,消息标识
* 码,消息的具体信息wParam和lParam,然后,操作系统将封装好的消息投递到应用程序的消息队列中
* 2--应用程序在消息循环中调用函数GetMessage()函数,从应用程序的消息队列中将消息一条一条的取出来,对
* 消息做一些预处理
* 3--应用程序调用DispatchMessage()函数,将消息回传给操作系统,在消息回传的过程中,操作系统根据消息
* 所属的窗口,利用这个窗口在窗口注册的时候注册的窗口过程的函数指针调用窗口过程函数
* 4--然后,再在这个窗口过程函数中,根据消息的具体信息,调用具体的消息响应函数
******************************************************************************************************/
typedef struct tagMSG
{
HWND hwnd; //[1]第一个成员变量hwnd表示消息所属的窗口
UINT message; //[2]第二个成员变量message指定了消息的标识符,在windows中
// 消息是由一个数值来表示的,不同的消息对应不同的数值,
// 为了便于记忆,windows将消息定义为相应的宏
WPARAM wParam; //[3]用于指定消息的附加信息,后者更加具体的消息信息
LPARAM lParam;
DWORD time; //[4]用于指定消息的投递时间
POINT pt; //[5]消息投递的时候,鼠标坐在的位置
};
/*****************************************************************************************************
*函数说明:
* 消息对话框函数MessageBox(HWND hwnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType)
******************************************************************************************************/
int MessageBox(
HWND hwnd, //[1]对话框的窗口句柄,它说明了这个对话框属于那个窗口
LPCSTR lpText, //[2]对话框中,将要显示的文本
LPCSTR lpCaption, //[3]对话框的标题
UINT uType) //[4]指定对话框的内容和行为
MB_OK
MB_OKCANCEL
MB_ABORTRETRYIGNORE
MB_YESNOCANCEL
MB_YESNO
【VC编程】笔记4--windows的消息驱动机制和消息对话框
最新推荐文章于 2019-09-18 21:21:08 发布