我正在尝试将菜单添加到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的标题,它有一个子菜单,我想要显示的菜单。像这样:
[BUTTON]
我的菜单
Submenu Item 1
Submenu Item 2
Submenu Item 3
显然我想看到的是:
[BUTTON]
子菜单项目1
子菜单第2项
子菜单第3项
所以我的问题是....为什么不是菜单中IDR_MYMENU中的所有菜单项,而不是它的子菜单?
感谢。
答案 0 :(得分:1)
在创建菜单按钮时,仅通过传入.GetSubMenu(0) - > GetSafeHmenu()而不是相关的CMenu来解决此问题。为什么会这样,对我来说是一个完全的谜,以及你知道的MFC主义之一。
不确定是否删除此问题或在其他任何人遇到此问题时将其解析。