【问题标题】:Add functions to the Main Menu at the top of a window将功能添加到窗口顶部的主菜单
【发布时间】:2016-05-24 15:03:14
【问题描述】:

我想在 MFC 主框架窗口顶部的主菜单中添加子选项。

例如;文件>打开,或编辑>撤消。

这有可能吗?我的意图是用下拉菜单中常见的选项替换程序中某些按钮的功能

另外,在向主菜单添加一个项目后,您将如何使用它来调用函数?

【问题讨论】:

  • 您的图像看起来像框架的主菜单,而不是工具栏。你问如何添加到主菜单?
  • 是的,对不起,这就是我的意思。不记得叫什么了。
  • 您应该通过资源编辑器动态阅读有关菜单创建的 MSDN 文档。
  • 我想出了如何添加我想要的选项,但我不确定如何向它们添加功能。现在我有文件>打开,但它是灰色的。我将 MENUITEM 添加到 .rc 文件中以实现此目的
  • 请参考this post了解更多信息,因为您的问题可能被解释为该帖子的重复。

标签: c++ visual-studio mfc


【解决方案1】:

在这里,我在视图菜单中添加了一个名为测试的条目:

当我构建并运行他的程序时,它显示已禁用:

这是因为我仍然需要创建一个事件处理程序。在资源编辑器中右键单击菜单项并选择添加事件处理程序

这会调出类向导

在对话框中有几个菜单事件处理程序可供选择。选择您需要的(如屏幕截图所示),但不要忘记在右侧选择正确的class。然后点击添加和编辑

现在您可以添加您的事件处理程序功能。示例:

void CMainFrame::OnViewTest()
{
    AfxMessageBox(_T("Hello!"), MB_OK | MB_ICONINFORMATION);
}

当我编译并运行它时:

希望这将帮助您启动和运行。

【讨论】:

  • 我实际上只是通过 VS 偶然发现了这个搜索,但你完美地描述了解决方案。非常棒的答案非常感谢!
猜你喜欢
  • 2016-03-11
  • 1970-01-01
  • 2011-01-31
  • 2011-11-28
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-16
相关资源
最近更新 更多