设为首页 加入收藏

TOP

谈谈MFC中的消息映射
2012-11-03 14:45:34 来源: 作者: 【 】 浏览:248
Tags:谈谈 MFC 消息 映射

  引言:

  众所周知,windows是基于消息驱动的,作好消息处理是WINDOWS编程(www.cppentry.com)的关键任务之一,用VC制作WINDOWS程式同样离不开消息的处理。虽然VC++(www.cppentry.com)6的类向导可以完成绝大部分工作,但不幸的是,它并不能完成所有的工作。这就要求我们对 VC中消息的处理有一个比较清淅的认识。只有这样才可能在必要的时候亲自动手完成一些复杂的消息映射处理。

  在MFC中消息是通过一种所谓的消息映射机制来处理的。其实质是一张消息及其处理函数的一一对应表以及分析处理这张表的应用框架内部的一些程序代码.这样的好处是可以避免像早期的SDK编程(www.cppentry.com)一样需要罗列一大堆的CASE语句来处理各种消息.由于不同种类的消息其处理方法是不同的,所以我们有必要先弄清楚 WINDOWS消息的种类。

  背景:

  WINDOWS 消息的种类

  WINDOWS中消息主要有以下三种类型:

  1、标准的WINDOWS消息:这类消息是以WM_为前缀,不过WM_COMMAND例外。 例如: WM_MOVE、WM_QUIT等.

  2、命令消息:命令消息以WM_COMMAND为消息名.在消息中含有命令的标志符ID,以区分具体的命令.由菜单,工具栏等命令接口对象产生.

  3、控件通知消息:控件通知消息也是以WM_COMMAND为消息名.由编辑框,列表框,子窗口发送给父窗口的通知消息.在消息中包含控件通知码.以区分具体控件的通知消息.

  其中标准的WINDOWS消息及控件通知消息主要由窗口类即直接或间接由CWND类派生类处理.相对标准WINDOWS消息及控件通知消息而言,命令消息的处理对象范围就广得多.它不仅可以由窗口类处理,还可以由文档类,文档模板类及应用类所处理。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇进入MFC讲坛的前言 下一篇应用MFC开发高级应用程序

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: