MFC 单文档,如何截获并处理主菜单中某一项被点击(子菜单即将弹出)的事件?

如图所示:即点击菜单项“文件”所产生的事件,该菜单是一个下拉式菜单。我自己想到的可以根据鼠标左击事件做点击测试还有就是不做成包含有子菜单的菜单项,直接可以响应命令~... 如图所示:

即点击菜单项“文件”所产生的事件,该菜单是一个下拉式菜单。
我自己想到的可以根据鼠标左击事件做点击测试还有就是不做成包含有子菜单的菜单项,直接可以响应命令~
展开
 我来答
bhtzu
推荐于2016-06-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4228万
展开全部
例如你图上那个”自定义“,在资源编辑器中,设置”无弹出“,并设置ID为:ID_CUSTOM
然后在ClassWizard里面,选择View类,在列表中找到ID_CUSTOM,双击它,生成函数,编辑函数代码,比如只加一行:
AfxMessageBox(_T("测试菜单点击"));
即可。
追问
这是我说的第二种方法~
追答
你哪个是第一种?鼠标事件?这个没有研究意义。菜单是在窗口的非客户区,并且菜单本身不是窗口继承类。在非客户区判断鼠标点击不是不可以,而是MFC框架根本没有对该事件提供任何支持,你自己需要做的事情太多,还不如从头做省事(因为菜单本身无法获取位置,你需要一点一点计算),所以,这个就不和你讨论了,建议你也别想这个,事半功倍。
少欣悠9
2014-09-01
知道答主
回答量:48
采纳率:0%
帮助的人:16.9万
展开全部
发到我邮箱帮你修改调试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
屋外风吹凉0v
2018-06-11
知道答主
回答量:9
采纳率:0%
帮助的人:8471
展开全部
先添加菜单栏的“自定义”菜单项的ID(比如ID_ZIDINGYI),再在MainFrame的cpp文件里面添加对应菜单项ID的ON_COMMAND(ID_ZIDINGYI,消息处理函数名)和ON_UPDATE_COMMAND_UI(ID_ZIDINGYI,消息处理函数名(比如OnUpdateZiDingYi))相关的消息映射,然后再到OnUpdateZiDingYi(CCmdUI* pCmdUI)函数里做相关处理,OnUpdateZiDingYi(CCmdUI* pCmdUI)这个函数即起到截获点击按钮事件的作用,截获点击以后处理逻辑就在该函数体里面写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式