【问题标题】:Adding a drop-down menu button to a CMFCToolbar向 CMFCToolbar 添加下拉菜单按钮
【发布时间】:2011-09-20 10:52:54
【问题描述】:

我正在尝试将菜单添加到 CMFCToolbar。根据我在网上找到的建议,我这样做了:

CMenu m_Menu;

m_Menu.LoadMenu(IDR_MYMENU);

m_Toolbar.ReplaceButton (   ID_DOTHISWHENCLICKED,
                CMFCToolBarMenuButton(  ID_DOTHISWHENCLICKED, 
                            m_Menu, 
                            10,
                            nullptr,
                            FALSE));

所以上面给了我一个带有下拉箭头的按钮。当我单击按钮时,它会执行 ID_DOTHISWHENCLICKED 操作。当我单击下拉箭头时,我会看到一个包含一个项目的菜单。该项目是 IDR_MYMENU 的标题,它有一个子菜单,即我想要显示的菜单。像这样的:

[按钮]

我的菜单

 Submenu Item 1

 Submenu Item 2

 Submenu Item 3

显然我想看到的是:

[按钮]

子菜单项 1

子菜单项 2

子菜单项 3

所以我的问题是....为什么 IDR_MYMENU 中的所有菜单项都不在菜单中,而不是在它的子菜单中?

谢谢。

【问题讨论】:

    标签: mfc toolbar


    【解决方案1】:

    在创建菜单按钮时,只需传入 .GetSubMenu(0)->GetSafeHmenu(),而不是相关的 CMenu,即可解决此问题。为什么会这样,对我来说完全是个谜,也是如果你知道就知道的 MFC 主义之一。

    不确定是否删除此问题或勾选已解决,以防其他人遇到此问题。

    【讨论】:

      猜你喜欢
      • 2023-03-10
      • 2023-03-22
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 2023-04-01
      • 1970-01-01
      相关资源
      最近更新 更多