更改 MFC 菜单以显示所有项目而不是箭头?

Change MFC Menu to show all items instead of arrows?

有一个 MFC 应用程序,它使用具有 CMFCMenuBar 和工具栏的各种可用样式之一。对于 CMFCMenuBar 它只显示使用的项目,否则必须单击向下的双箭头才能看到其余项目。我该如何设置它,使其始终显示所有项目,而不必使用箭头?

TIA!!

尝试使用 CMFCMenuBar::SetShowAllCommands 方法。

根据 Microsoft 的说法,您应该调用

CMFCMenuBar::SetShowAllCommands(TRUE);

https://docs.microsoft.com/en-us/cpp/mfc/reference/cmfcmenubar-class?view=vs-2019#setshowallcommands

这取决于菜单的创建和初始化方式。在 CMainFrame class 中查找以下代码:

CList<UINT, UINT> lstBasicCommands;
lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
...
CMFCToolBar::SetBasicCommands(lstBasicCommands);

如果找到,则移除对SetBasicCommands

的调用

或保留SetBasicCommands,同时将所有命令添加到lstBasicCommands