将功能添加到窗口顶部的主菜单

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 偶然发现了这个搜索,但你完美地描述了解决方案。非常棒的答案非常感谢!

以上是关于将功能添加到窗口顶部的主菜单的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试将某种小部件或菜单添加到我所有 Wordpress 网站页面的顶部

垂直滚动条滑到页面里面的导航栏时,导航栏固定到窗口顶部

创建一个下拉菜单,在页面顶部向上打开,向下滚动时向下打开

WPF StatusBar控件

修复了网页顶部的菜单会随着窗口调整大小而改变大小

一些jQuery示例--返回顶部/fadein淡出菜单/drupal菜单打开新窗口