消息映射机制
来源:互联网 发布:聊天表情制作软件 编辑:程序博客网 时间:2024/05/17 01:04
跟框架机制一样 也是寻寻觅觅了很久。。到最后知道的真想骂一句:低俗。。
现在说机制吧。。有个虚函数GetMessageMap在
CWnd和CCmdTarget都有定义(利用DECLARE_MESSAGE_MAP())。
和一个非虚函数GetThisMessageMap。
大家都还记得BEGIN_MESSAGE_MAP(theClass, baseClass)这个宏吧。。
example:我定义了一个类CXXOO继承CWnd。打算重写OnCreate(处理wm_create消息),那么就需要在类声明处放置DECLARE_MESSAGE_MAP(),定义处放置BEGIN_MESSAGE_MAP(CXXOO, CWnd)和END_MESSAGE_MAP(),把ON_WM_CREATE()
放置在2个宏中间 以上都是废话~~
example2:未重写~~
好,现在要处理了wm_create了。如example调用GetMessageMap时会调用CXXOO重写的那个,然后在theClass:: GetThisMessageMap的一个静态数组_messageEntries中找到了wm_create,继而调用你重写的OnCreate。如example2调用GetMessageMap依然调用CXXOO重写的,但确找不到,那就去找baseClass:: GetThisMessageMap中的那个静态数组,按继承图从下往上。(CCmdTarget应该没怎么定义,大部分的映射项应该都放在CWnd里。)
但微软在MFC里面加了个缓存机制,这是我们用win32API编写Windows程序时不会写的。。有机会再看那个怎么实现的吧就这样了。。
- MFC消息映射机制
- MFC消息映射机制
- 消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- 消息映射机制
- MFC消息映射机制
- vc消息映射机制----------------
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC 消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- MFC消息映射机制
- windows下wireshark插件开发之源码编译
- 阳历、阴历、农历
- 《C#2.0锐利体验系列课程》第一讲——泛型
- POJ1141 Brackets Sequence
- Ubuntu下的第一篇Blog
- 消息映射机制
- 分页打印代码
- 第06章 CORE C++_异常_I/O
- 关于裸设备
- hdu 1022 Train Problem I 栈
- 第07章 CORE C++_数据结构和算法
- 回归
- 俺的J2meGame.com站点,发布了MTK教程系列
- 出现“响应在此上下文中不可用”的错误