Я конвертирую существующее приложение для использования ленты. Я использую Visual Studio 2012. Я пытался добавить кнопки через редактор свойств QAT в дизайнере ленты. QAT отображается в режиме тестовой ленты правильно. Но это не отображается при отладке приложения. Кнопка выпадающего списка есть, но не работает.
Я также пытался добавить кнопки в код, но это не имеет значения:
MFCRibbonQuickAccessToolBarDefaultState qatState;
qatState.AddCommand(ID_FILE_SAVE);
qatState.AddCommand(ID_EDIT_UNDO);
m_wndRibbonBar.SetQuickAccessDefaultState(qatState);
Любая идея будет оценена. Часть QAT в ribbon1.mfcribbon-ms:
<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>
Я решил это. В функции CAppnameApp :: InitInstance () в Appname.cpp вызовите функцию InitContextMenuManager (). Это инициализирует объект CContextMenuManager, который управляет контекстными меню. Этот объект введен в VC2008. Также другие функции, такие как InitShellManager (); InitKeyboardManager (); InitTooltipManager (); должен быть вызван в том же месте.
Других решений пока нет …