您的位置:首页 > 编程语言 > C语言/C++

MFC消息映射机制详解

2014-09-20 18:56 197 查看

MFC消息映射机制:
在每个能接收和处理消息的类中,定义一个消息与消息处理函数的映射表,即消息映射表。MFC有一个窗口句柄与C++对象指针的映射表,当窗口收到消息时,消息的第一个参数指明了该消息与哪个窗口句柄相关,通过映射表找到C++对象指针,然后将这个指针传递给应用程序框架窗口类的基类,基类调用WindowProc函数(在wincore.cpp文件中),这是一个虚函数,函数内部调用OnWndMsg函数,消息处理就是在这个函数内完成的,该函数也在wincore.cpp中。OnWndMsg函数首先判断窗口类中是否有消息响应函数,首先在子类的头文件中看DECLARE_MESSAGE_MAP()宏之上、两个AFX_MSG注释宏之间是否有消息响应函数原型的声明;然后在子类源文件中看BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()两个宏之间是否有消息映射宏,找到消息响应函数,由此函数对消息进行处理,如果没有找到,则交给基类处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ MFC VC 控件