Поделиться через


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

См. также

Ссылки

Класс CMDIFrameWndEx

Диаграмма иерархии