CMDIFrameWndEx::EnableMDITabs
Позволяет включить или отключить функцию вкладок MDI, фреймового окна MDI. При активации, фреймовое окно отображает вкладку для каждого дочернего окна MDI.
void EnableMDITabs(
BOOL bEnable=TRUE,
BOOL bIcons=TRUE,
CMFCTabCtrl::Location tabLocation=CMFCTabCtrl::LOCATION_BOTTOM,
BOOL bTabCloseButton=FALSE,
CMFCTabCtrl::Style style=CMFCTabCtrl::STYLE_3D_SCROLLED,
BOOL bTabCustomTooltips=FALSE,
BOOL bActiveTabCloseButton=FALSE
);
Параметры
bEnable
Указывает, включаются ли вкладки.bIcons
Определяет, должны ли отображаться значки на вкладках.tabLocation
Указывает расположение меток вкладки.bTabCloseButton
Задает значение, управляющее отображением кнопок вкладки близкие.style
Задает стиль вкладок. Используйте STYLE_3D_SCROLLED для обычных вкладок или STYLE_3D_ONENOTE для вкладок Майкрософт OneNote.bTabCustomTooltips
Указывает, включены ли пользовательские подсказки.bActiveTabCloseButton
Если TRUE, кнопка Закрыть будет отображаться на активной вкладке, а не на правого угла области вкладок.
Заметки
Вызовите этот метод, чтобы включить или отключить функцию вкладок MDI, фреймового окна MDI. При активации все дочерние окна отображаются в виде вкладок.
Метки вкладки находятся в верхней или нижней части кадра, в зависимости от значения параметра tabLocation. Можно указать либо CMFCTabCtrl::LOCATION_BOTTOM (параметр по умолчанию) или CMFCTabCtrl::LOCATION_TOP.
Если bTabCustomTooltipsTRUE, то сообщение AFX_WM_ON_GET_TAB_TOOLTIP будет отправлено к главному фреймовому окно. Код может обработать это сообщение и предоставить границы с пользовательскими подсказками для вкладок MDI.
Пример
Показать, как EnableMDITabs следующие примере используется в Образец MDITabsDemo: Приложение MFC с интерфейсом MDI с вкладками.
void CMainFrame::UpdateMDITabs (BOOL bResetMDIChild)
{
CMDITabInfo params;
HWND hwndActive = NULL;
switch (theApp.m_Options.m_nMDITabsType)
{
case CMDITabOptions::None:
{
BOOL bCascadeMDIChild = FALSE;
if (IsMDITabbedGroup ())
{
EnableMDITabbedGroups (FALSE, params);
bCascadeMDIChild = TRUE;
}
else if (AreMDITabs ())
{
EnableMDITabs (FALSE);
bCascadeMDIChild = TRUE;
}
if (bCascadeMDIChild)
{
// CMDIClientAreaWnd m_wndClientArea
hwndActive = (HWND) m_wndClientArea.SendMessage (WM_MDIGETACTIVE);
m_wndClientArea.PostMessage (WM_MDICASCADE);
m_wndClientArea.UpdateTabs( false );
m_wndClientArea.SetActiveTab(hwndActive);
::BringWindowToTop (hwndActive);
}
}
break;
case CMDITabOptions::MDITabsStandard:
hwndActive = (HWND) m_wndClientArea.SendMessage (WM_MDIGETACTIVE);
m_wndClientArea.PostMessage (WM_MDIMAXIMIZE, LPARAM(hwndActive), 0L);
::BringWindowToTop (hwndActive);
EnableMDITabs (TRUE,theApp.m_Options.m_bMDITabsIcons, theApp.m_Options.m_bTabsOnTop ? CMFCTabCtrl::LOCATION_TOP : CMFCTabCtrl::LOCATION_BOTTOM, theApp.m_Options.m_nTabsStyle);
GetMDITabs().EnableAutoColor (theApp.m_Options.m_bTabsAutoColor);
GetMDITabs().EnableTabDocumentsMenu (theApp.m_Options.m_bMDITabsDocMenu);
GetMDITabs().EnableTabSwap (theApp.m_Options.m_bDragMDITabs);
GetMDITabs().SetTabBorderSize (theApp.m_Options.m_nMDITabsBorderSize);
GetMDITabs().SetFlatFrame (theApp.m_Options.m_bFlatFrame);
GetMDITabs().EnableCustomToolTips (theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableCustomToolTips (theApp.m_Options.m_bCustomTooltips);
GetMDITabs().EnableActiveTabCloseButton (theApp.m_Options.m_bActiveTabCloseButton);
break;
Требования
заголовок: afxMDIFrameWndEx.h