下载此文档

MFC中消息映射机制分析.doc


文档分类:IT计算机 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
MFC中消息映射机制分析.docMFC中消息映射机制分析免费硕士博士论文论文
天下
摘要:MFC以层次结构组织起来,比较庞杂,尤其是它的消息映射机制,更 是涉及到很多底层的东西。本文通过对整个消息映射机制进行系统的分析,可 以帮助程序开发人员更好地了解MFC,进行可视化编程。
关键词:消息驱动;消息映射;MFC程序设计
1引言
微软公司提供的MFC基本类库(Microsoft Foundation Classes),是进行可视 化编程时使用最为流行的一个类库。MFC封装了大部分Windows API函数和 Windows控件,使得程序的开发变得简单,极大的缩短了程序的开发周期。MF C
独创的Document/View框架结构,能够将管理数据的代码和显示数据的程序代 码分开,并且设计了一套方便的消息映射和命令传递机制,方便程序员的开发 使用。其中消息映射机制本身比较庞大和复杂,对它的分析和了解无疑有助于 我们写出更为合理的高效的程序。这里我们分析一下MFC的消息映射机制,以 了解MFC是如何对Windows的消息加以封装,方便用户的开发。
1 SDK下的消息机制实现
首先,简单回顾一下SDK下我们是如何进行Windows的程序开发的。Windows 程序的运行是依靠外部发生的事件来驱动的,事件由操作系统捕捉,以消息的 形式进入消息队列,然后通过消息循环从队列中不断取出消息,送到对应的窗 曰过程里处理。相对于DOS程序,Windows是以WinMain作为程序的入曰点, 以下就是一个简化的Win32程序的主体,通过while语句实现消息循环: WinMain ( • • •)
//注册窗口类
//创建窗口
//显示窗口
MSG msg;
RegisterClass ( • • •);
CreateWindow(—);
ShowWindow( ".);
UpdateWindow(*--);
While (GetMessage(&msg, 密肖息循环
TranslateMessage (.• •);
DispatchMessage (.• •);
}
return msg. wParam;
}
其中,msg代表消息,程序是通过GetMessage函数从和某个线程相对应的消息 队列里面把消息取出来并放到消息变量msg里面。然后TranslateMessage函数 用来把键盘消息转化并放到响应的消息队列里面,最后DispatchMessage函数 把消息分发到相关的窗口过程去处理。窗口过程根据消息的类型对不同的消息 进行相关的处理。在SDK编程过程中,用户需要在窗口过程中分析消息的类型
及其参数的含义,然后做不同的处理,相对比较麻烦;而MFC把消息调用的过 程给封装起来,使用户能够通过Cl assWizard方便的使用和处理Windows的各 种消息。
2 MFC中的消息映射机制
在MFC的框架结构下,“消息映射”是通过巧妙的宏定义,形成一张消息映

表格来进行的。这样一旦消息发生,Framework就可以根据消息映射表格来进 行消息映射和命令传递。
首先在需要进行消息处理的类的头文件(.H)里,都会含有
DECLARE J1ESSAGE_MAP
。宏,声明该类拥有浦息映射表格:
class CscribbleDoc:pu

MFC中消息映射机制分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小雄
  • 文件大小91 KB
  • 时间2021-05-15