Я хотел бы переключиться между различными лентами для разных дочерних фреймов MDI в моем приложении. Я знаю, что это возможно в меню старого стиля, но я не могу заставить его работать с лентами пакета функций.Переключение между различными лентами в приложении MDI
кода, используемый, когда это старое меню стиля:
pDocTemplate = new CMultiDocTemplate(
IDR_MAINFRAME,//Menu to load
RUNTIME_CLASS(CModDoc),
RUNTIME_CLASS(CModFrame), // custom MDI child frame
RUNTIME_CLASS(CdotView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
pDocTemplate = new CMultiDocTemplate(
IDR_RES_RNGACTIV,//Menu to load
RUNTIME_CLASS(CModRangeDoc),
RUNTIME_CLASS(CModRangeFrame), //custom MDI child frame
RUNTIME_CLASS(CBlankView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
Другой подходом, который я имею в виду является выгрузить текущую ленту и загрузить новую ленту из ресурсов?
//Unload ribbon code?
m_wndRibbonBar.LoadFromResource(IDR_RIBBON);
К сожалению, правильный ответ пришел слишком поздно, но тег MFC не так сильно смотрится. Ahahahh – Robson
Использование контекстных категорий также работает очень хорошо. – Jak
Вы правы, но есть некоторые случаи, когда вы специально хотите разные ленты, потому что недостаточно контекстных категорий. Вы можете думать о чем-то вроде разных профилей, но есть и тезисные состояния, которые могут быть полезны, но я никогда не тратил на них время. – Robson