#c #mfc
#c #mfc
Вопрос:
Я изучаю MFC C и обнаружил проблему с меню с вкладками MDI. Даже мое приложение выполнено в стиле MDI, но я не вижу меню раскрывающегося списка списка документов. Пожалуйста, помогите мне! Заранее спасибо!
Я пытался изменить значения, CMDITabInfo
но ничего не происходит…
CMDITabInfo mdiTabParams;
mdiTabParams.m_style = CMFCTabCtrl::STYLE_3D_ONENOTE; // other styles available...
mdiTabParams.m_bActiveTabCloseButton = TRUE; // set to FALSE to place close button at right of tab area
mdiTabParams.m_bTabIcons = FALSE; // set to TRUE to enable document icons on MDI taba
mdiTabParams.m_bAutoColor = TRUE; // set to FALSE to disable auto-coloring of MDI tabs
mdiTabParams.m_bDocumentMenu = TRUE; // enable the document menu at the right edge of the tab area
EnableMDITabbedGroups(TRUE, mdiTabParams);
Комментарии:
1. Изображение, которое вы показываете, является выпадающим меню окна. Откройте больше дочерних окон, и их имена появятся в списке.
2. Дорогой Адриан Моул, большое вам спасибо за ваш ответ! Я открыл 10 вкладок, но меню по-прежнему не появлялось. Так странно, что я изменил значения CMDITabInfo, но ничего не обновляет даже m_style…
3. Вы пробовали использовать CMFCTabCtrl::EnableTabDocumentsMenu ? docs.microsoft.com/en-us/cpp/mfc/reference /…
Ответ №1:
В конце вашего CMainFrame::OnCreate
вы можете написать:
EnableMDITabs(TRUE, TRUE, CMFCBaseTabCtrl::LOCATION_TOP, TRUE,
CMFCTabCtrl::STYLE_3D_SCROLLED, FALSE,
FALSE);
CMFCTabCtrlamp; MFCTabCtrl = GetMDITabs();
MFCTabCtrl.EnableTabSwap(TRUE);
MFCTabCtrl.EnableTabDocumentsMenu(TRUE);
MFCTabCtrl.EnableAutoColor(FALSE);
Это обеспечит вам то, что вам нужно.
Комментарии:
1. Уважаемый Flaviu2, Большое вам спасибо за ваш ответ! Да, у меня есть эта функция внутри CMainFrame::onCreate(). Но это не сработало. Я создал новый проект, и теперь все в порядке.