Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否更改MFC菜单以显示所有项目而不是箭头?_Mfc_Menubar - Fatal编程技术网

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

是否更改MFC菜单以显示所有项目而不是箭头?,mfc,menubar,Mfc,Menubar,拥有一个MFC应用程序,该应用程序使用具有CMFCMenuBar和工具栏的各种可用样式之一。对于CMFCMenuBar,它只显示所使用的项目,否则必须单击双下箭头才能查看其余项目。我如何设置它,使其始终只是所有项目,而不必使用箭头 蒂娅 尝试使用该方法。根据Microsoft的说法,您应该调用 CMFCMenuBar::SetShowAllCommands(TRUE); 这取决于菜单的创建和初始化方式。在CMainFrame类中查找以下代码: CList<UINT, UINT> l

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


蒂娅

尝试使用该方法。

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

CMFCMenuBar::SetShowAllCommands(TRUE);

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

CList<UINT, UINT> lstBasicCommands;
lstBasicCommands.AddTail(ID_FILE_NEW);
lstBasicCommands.AddTail(ID_FILE_OPEN);
...
CMFCToolBar::SetBasicCommands(lstBasicCommands);
CList lstBasicCommand;
lstBasicCommands.AddTail(ID\u FILE\u NEW);
lstBasicCommands.AddTail(ID\u FILE\u OPEN);
...
CMFCToolBar::setBasicCommand(lstBasicCommand);
如果找到它,则删除对
SetBasicCommands


或者保留
setbasicCommand
,并将所有命令添加到
lstBasicCommand

就是这样,出于某种原因,
CMFCMenuBar::SetShowAllCommands(TRUE)
没有做任何事情(即使在
setbasicCommand()之后添加)。