MFC学习笔记之四————菜单编程与windows消息分类

本文介绍了MFC中菜单编程的工作原理,详细阐述了消息传递顺序:View类→Doc类→CMainFrame类→App类。同时,讨论了Windows消息的分类,包括标准消息、命令消息和通告消息。在MFC中,菜单项状态的维护依赖于CN_UPDATE_COMMAND_UI消息。文章还提及了TrackPopupMenu函数用于创建右键菜单,并提到了动态菜单编程的相关函数。
摘要由CSDN通过智能技术生成

      首先,在MFC中,具有PopUp属性的菜单是不能用来做命令响应的。

在MFC中:

                  当点击一个菜单项的时候,最先接受到菜单项消息的是CMainFrame框架类,CMainFrame框架类将会把菜单项消息交给它的子窗口View类,由View类首先进行处理;如果View类检测到没对该菜单项消息做响应,则View类把菜单项消息交由文档类Doc类进行处理;如果Doc类检测到Doc类中也没对该菜单项消息做响应,则Doc类又把该菜单项消息交还给View类,由View类再交还给CMainFrame类处理。如果CMainFrame类查看到CMainFrame类中也没对该消息做响应,则最终交给App类进行处理。

所以,其消息传递顺序为:View类--Doc类--CMainFrame类--App类。当然,菜单消息一旦在其中一个类中响应则不再在其它类中查找响应函数

               windows消息的分类

(1)标准消息:除WM_COMMAND之外,所有以WM_开头的消息。从CWnd类派生的都可以接收到这些消息。

(2)命令消息:来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。

(3)通告消息:由控件产生的消息,例如,按钮的单击&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值