功能区 MFC 中未显示快速访问工具栏 (QAT)

Posted

技术标签:

【中文标题】功能区 MFC 中未显示快速访问工具栏 (QAT)【英文标题】:Quick Access Toolbar (QAT) doesn't shown in Ribbon MFC 【发布时间】:2014-03-24 17:20:52 【问题描述】:

我正在将现有应用程序转换为使用功能区。我正在使用 Visual Studio 2012。我尝试通过功能区设计器中的 QAT 属性编辑器添加按钮。测试功能区模式中正确显示的 QAT。但是当我调试应用程序时它没有显示。下拉框按钮在那里,但不起作用。

我也尝试在代码中添加按钮,但没有任何区别:

    MFCRibbonQuickAccessToolBarDefaultState qatState;
    qatState.AddCommand(ID_FILE_SAVE);
    qatState.AddCommand(ID_EDIT_UNDO);
    m_wndRibbonBar.SetQuickAccessDefaultState(qatState);

任何想法将不胜感激。 ribbon1.mfcribbon-ms 中QAT的部分是:

<QAT_ELEMENTS><ELEMENT_NAME>QAT</ELEMENT_NAME><QAT_TOP>TRUE</QAT_TOP><ITEMS><ITEM><ID><NAME>ID_FILE_NEW</NAME><VALUE>57600</VALUE></ID><VISIBLE>TRUE</VISIBLE></ITEM><ITEM><ID><NAME>ID_FILE_OPEN</NAME><VALUE>57601</VALUE></ID><VISIBLE>TRUE</VISIBLE></ITEM></ITEMS></QAT_ELEMENTS>

【问题讨论】:

【参考方案1】:

我解决了。在 Appname.cpp 中的 CAppnameApp::InitInstance() 函数中,调用 InitContextMenuManager() 函数。这将初始化管理快捷菜单的 CContextMenuManager 对象。这个对象是在 VC2008 中引入的。还有其他函数,如 InitShellManager();初始化键盘管理器(); InitTooltipManager();需要在同一个地方调用。

【讨论】:

以上是关于功能区 MFC 中未显示快速访问工具栏 (QAT)的主要内容,如果未能解决你的问题,请参考以下文章

无法从快速访问工具栏 (QAT) 菜单中删除自定义功能区控件

从 MFC 对话项目中删除 QAT 资源?

MFC做了一个工具栏点击某个按钮有隐藏和显示功能

MFC工具栏按钮不显示问题?

为啥我创建的MFC工具栏按钮都是灰的

MFC 单文档添加自定义位图工具栏图标