当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>Visual C++教程

关于VC++中菜单消息的路由过程

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

    标准消息:除WM_COMMAND 之外的,以WM_开头的消息。
 
  命令消息:来自菜单,工具栏,加速键(快捷键)的消息

    通知消息:由控件产生的(如按钮)
 
  而命令消息,通知消息只能被从CCmdTarget派生的类处理,不能接受标准消息。标准消息由从CWnd派生的类处理。
 
  当单击命令菜单时,首先接收消息的是框架类,然后框架类交给视类,视类根据消息映射机制看能否处理,不能则交给文档类。
 
  文档类处理过程同视类。假如不能处理,则交给视类,由视类交给框架类,框架类根据消息映射机制看能够处理。不能则交给应用程序类处理。
 

相关内容
赞助商链接