Sollyu

  • 捐赠
  • 关于
  1. 首页
  2. 原创文章
  3. 正文

C++学习笔记五

2014年5月28日 3886点热度 0人点赞 0条评论

消息映射机制,本身靠的是一个消息与消息函数的静态对照表

Build命令

Build命令的功能是编译并链接应用程序(快捷键是F7)

为类添加响应消息的函数(方法二):ClassWizard(建立类向导)

其中最重要的是MessageMaps选项卡,Objects IDs列表框列出当前选择的类所包含的所有资源的ID号,列表中的第一项决是当前的类名;可以添加消息处理函数、成员函数,还可以删除成员函数,对成员函数进行编辑;

Automation选项卡是什么

删除消息响应函数时一定要彻底,在头文件和源文件中都有相关的内容,不用手工删除。

一个MFC消息响应函数在程序中有三处相关信息:函数原型(头文件中)、关联消息和消息响应函数的宏(源文件中)和消息响应函数的实现(源文件中)

头文件中在两个AFX_MSG注释宏之间的是消息响应函数的声明;

源文件中在AFX_MSG_MAP注释宏之间的消息映射宏,把消息和响应函数关联起来;

源文件中消息响应函数的实现代码,这种方式称为消息映射机制。

消息路由的实现方式可以有多种:比如在基类中针对每种消息定义一个虚函数(这样的话需要维护一个虚拟函数表,会有比较大的内存包袱)

消息过程

消息映射机制是通过OnWndMsg函数实现的,过程为:

先判断消息是否有消息响应函数(先到头文件查看两个AFX_MSG注释宏之间是否有原型声明;再到源文件查看BEGIN_MESSAGE_MAP和END_MESSAGE_MAPS宏之间是否是映射宏)

如果有消息响应函数,则调用该函数完成相应的功能。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: VC++ 笔记
最后更新:2014年5月28日

sollyu

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 sollyu.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

苏ICP备15007531号