MFC之菜单相应路由说明和消息分类13

1 菜单相应路由说明

菜单里面的选项按下时,会触发消息,但是这个消息是先被接收到又被谁先处理呢?
下面我们简单看看。
1)按向导创建MFC程序后,按下面任意添加菜单栏的选项。
在这里插入图片描述

2)依次对下面四个类进行添加编辑,创建对应的回调函数。
在这里插入图片描述

3)上面创建完4个回调函数后,那么按下按钮后,它会调用哪个回调函数先呢?
经过测试,它依次先调用视图->文档->框架->应用程序。但是并不能说明MFC菜单栏的消息路由是这个顺序的。实际上菜单栏的消息路由的消息是先被框架类接收,但是框架不处理,先交给视图处理,若视图没处理,则交给文档,同理框架,最后都没处理的话就是应用程序处理。如果你学过设计模式,这个思想就是责任连模式。

2 总结菜单栏的消息路由顺序和处理顺序

  • 1)路由顺序:框架->视图->文档->应用程序。
  • 2)处理顺序:视图->文档->框架->应用程序。

3 消息分类

消息分三种:

  • 1)命令消息WM_COMMAND,就是我们的菜单栏上面按下选项触发的回调函数消息。
  • 2)标准消息:即类—>属性->消息->Add。一般与事件触发的回调函数比较多,例如OnChar键盘事件,OnCreate创建键盘后的事件回调,左键按下等等。
  • 3)通过消息:一般是控件触发的消息,然后去到对应回调函数处理。
  • 4)注意:CWnd可以处理任何消息,CCmdTarget不接受标准消息。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值