MFC消息映射机制
来源:互联网 发布:mac os教程 编辑:程序博客网 时间:2024/06/04 18:08
MFC 自身会维护一个静态消息路由表,这个路由表在所有窗口生成之前产生(程序初始化过程中产生),生成过程如下:
(1)检索MFC程序中的用户创建的类;
(2)检索这些类的头文件(.h)是否声明 DECLARE_MESSAGE_MAP(),如果有这个声明,则对该类生成并维护一个静态路由表
(3)对有DECLARE_MESSAGE_MAP()声明的类源文件(.cpp)进行检索,将BEGIN_MESSAGE_MAP(A, B)声明下的消息路由加入该用户类的静态路由表,(A为该子类名,B为父类名)
(4)进一步检索B类,即(3)中类的父类,的源文件(.cpp),并将BEGIN_MESSAGE_MAP(B, C)声明下的消息路由加入该用户类的静态路由表,如出现同名的Message,则忽略该条Message。
(5)重复(4)知道检索到最后一层父类
(6)最后得到的静态路由表对每个DECLARE_MESSAGE_MAP()的用户类都有一个消息映射表。
例如 在这些类中除了adtmodel是非MFC类,其他类都具有自己的消息映射表。
当系统从消息队列中读取一条消息,系统将消息发送都相应的窗口上,窗口对应一个用户类,系统将在这个用户类所维护的静态路由表中查找相应的响应函数对该消息进行响应。
0 0
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC 消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- 第16章 string类和标准模板库
- [Servlet]会话管理的概念、隐藏域、Cookie、URL重写
- Word & exel? The setup controller has encountered a problem during install.
- 2015.06.15_ListView图片缓存(含步骤)
- arp resolution
- MFC消息映射机制
- java性能优化(干货)--降低时间与空间消耗
- Eclipse编译ijkplayer
- Ubuntu中Vim 中文乱码解决方法
- java中从键盘输入的三种方法
- jQuery源码分析之ajaxTransport和ajaxPrefilters执行函数之inspectPrefiltersOrTransports
- Linux内核和用户空间应用程序的接口—系统调用
- set方法的调用在内存管理中
- StoryBoard之User Defined Runtime Attributes的使用