将功能添加到窗口顶部的主菜单
Posted
技术标签:
【中文标题】将功能添加到窗口顶部的主菜单【英文标题】:Add functions to the Main Menu at the top of a window 【发布时间】:2016-05-24 15:03:14 【问题描述】:我想在 MFC 主框架窗口顶部的主菜单中添加子选项。
例如;文件>打开,或编辑>撤消。
这有可能吗?我的意图是用下拉菜单中常见的选项替换程序中某些按钮的功能
另外,在向主菜单添加一个项目后,您将如何使用它来调用函数?
【问题讨论】:
您的图像看起来像框架的主菜单,而不是工具栏。你问如何添加到主菜单? 是的,对不起,这就是我的意思。不记得叫什么了。 您应该通过资源编辑器动态阅读有关菜单创建的 MSDN 文档。 我想出了如何添加我想要的选项,但我不确定如何向它们添加功能。现在我有文件>打开,但它是灰色的。我将 MENUITEM 添加到.rc
文件中以实现此目的
请参考this post了解更多信息,因为您的问题可能被解释为该帖子的重复。
【参考方案1】:
在这里,我在视图菜单中添加了一个名为测试的条目:
当我构建并运行他的程序时,它显示已禁用:
这是因为我仍然需要创建一个事件处理程序。在资源编辑器中右键单击菜单项并选择添加事件处理程序:
这会调出类向导:
在对话框中有几个菜单事件处理程序可供选择。选择您需要的(如屏幕截图所示),但不要忘记在右侧选择正确的class。然后点击添加和编辑。
现在您可以添加您的事件处理程序功能。示例:
void CMainFrame::OnViewTest()
AfxMessageBox(_T("Hello!"), MB_OK | MB_ICONINFORMATION);
当我编译并运行它时:
希望这将帮助您启动和运行。
【讨论】:
我实际上只是通过 VS 偶然发现了这个搜索,但你完美地描述了解决方案。非常棒的答案非常感谢!以上是关于将功能添加到窗口顶部的主菜单的主要内容,如果未能解决你的问题,请参考以下文章