| 网站首页 | 技术文章 | 下载频道 | 博客 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> 开发语言 >> VC++ >> VC技术资料 >> 正文
  ►  关于VC++中菜单消息的路由过程
关于VC++中菜单消息的路由过程
作者:dream698    阅读人次:……    文章来源:本站原创    发布时间:2008/8/17    网友评论()条
 

原帖及讨论:http://bbs.bccn.net/thread-228631-1-1.html

我们经常使用VC6.0 的菜单来完成某些任务。但是你有没有深究其路由的过程呢?
我们添加一个菜单,并在视类 文档类 框架类 应用程序(即:C*App类)添加他的消息响应函数时,它的执行顺序是什么?
顺序是:视类-->文档类-->框架类-->应用程序

Windows 的消息分为三类:
标准消息:
除WM_COMMAND 之外的,以WM_开头的消息。
命令消息:
来自菜单,工具栏,加速键(快捷键)的消息
通知消息:
由空间产生的(如按钮)

而命令消息,通知消息只能被从CCmdTarget派生的类处理,不能接受标准消息。标准消息由从CWnd派生的类处理。

当单击命令菜单时,首先接收消息的是框架类,然后框架类交给视类,视类根据消息映射机制看能否处理,不能则交给文档类。
文档类处理过程同视类。假如不能处理,则交给视类,由视类交给框架类,框架类根据消息映射机制看能够处理。不能则交给应用程序类处理。

不当之处,请提出。

你在提高,我也在进步。

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子