MFC消息映射的工作方式

来源:互联网 发布:软件培训学校 编辑:程序博客网 时间:2024/05/16 12:46

MFC的DECLARE_MESSAGE_MAP宏在类声明中添加了3个成员:一个名为_messageEntes的私有的AFX_MSGMAP_ENTRY结构数组,其中包含

消息与消息处理函数相关联的信息;一个名为messageMap的静态AFX_MEGMAP结构,其中包含一个指向类中的_messageEntries数组的指针和一个指向基类中的messageMap结构的指针;以及一个名为GetMessageMap的虚拟函数,该函数返回messageMap的地址(对于一个动态而不是静态链接到MFC的MFC应用程序,其宏执行稍微有些不同,但工作原理是相同的)。BEGIN_MESSAGE_MAP包含GetMessageMap函数的实现,和用来初始化messageMap结构代码。BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间出现的宏填入到_messageEntries数组中,而END_MESSAGE_MAP使用一个NULL条目标记了数组的结尾。

原创粉丝点击