[MFC学习笔记]--孙鑫第四课
2015-08-18 10:48
309 查看
MFC消息映射机制
当消息产生之后,因为消息是和一个具体的窗口相关的,在MFC中,就维护了一个窗口句柄和C++指针之间的映射,通过句柄,就能找到相对应的C++类的指针,将这个指针传递给基类,然后再基类中就会调用windowproc();函数,然后windowproc会调用onwndmsg来处理,在onwndmsg中会根据你消息的种类,会查找消息映射,查找消息响应函数原型的声明,还会在构造函数查找消息函数映射,然后再查找,消息处理函数,比如messagebox。由于windowproc是定义成为虚函数的,如果在子类中没有进行消息处理,那么就会调用基类来处理。和消息循环没有本质区别。
所有和作图相关的类都封装到CDC这个类中间去了。
当消息产生之后,因为消息是和一个具体的窗口相关的,在MFC中,就维护了一个窗口句柄和C++指针之间的映射,通过句柄,就能找到相对应的C++类的指针,将这个指针传递给基类,然后再基类中就会调用windowproc();函数,然后windowproc会调用onwndmsg来处理,在onwndmsg中会根据你消息的种类,会查找消息映射,查找消息响应函数原型的声明,还会在构造函数查找消息函数映射,然后再查找,消息处理函数,比如messagebox。由于windowproc是定义成为虚函数的,如果在子类中没有进行消息处理,那么就会调用基类来处理。和消息循环没有本质区别。
所有和作图相关的类都封装到CDC这个类中间去了。
相关文章推荐
- NotificationUtils 对于各个版本的通知栏工具类
- 我的openwrt学习笔记(四):OpenWrt源代码下载
- UE4 Mobile Game Development
- windows环境 - 手把手教你使用Git
- 使用AFNetworking第三方下载类
- Appium基于安卓的各种FindElement的控件定位
- 安装程序无法初始化。请下载Adobe Support Advisor检测该问题
- EF 遭遇级联删除失败
- 十年,回到原点
- git revert和git reset的区别
- OpenCV坐标体系的初步认识
- <转载>div+css布局教程之div+css常见布局结构定义
- 一个对数级数的求和
- 递推+高精度+找规律 UVA 10254 The Priest Mathematician
- 操作符的重载
- 封装
- git revert 用法
- UE4 Materials for Mobile Platforms
- HDOJ 2066 一个人的旅行(最短路,dijkstra算法)
- 关于session监听浏览器关闭服务器执行destory的证实