Udostępnij za pośrednictwem


CMDIFrameWndEx::EnableMDITabs

Włącza lub wyłącza funkcję karty MDI ramki okna MDI.Po włączeniu ramki okna wyświetla kartę dla każdego okno potomne 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 
);

Parametry

  • bEnable
    Określa, czy karty są włączone.

  • bIcons
    Określa, czy ikony mają być wyświetlane na kartach.

  • tabLocation
    Określa położenie etykiet kartę.

  • bTabCloseButton
    Określa, czy wyświetlać przyciski Zamknij kartę.

  • style
    Określa styl kart.Użyj STYLE_3D_SCROLLED dla zwykłych tabulatorów lub STYLE_3D_ONENOTE dla programu Microsoft OneNote karty.

  • bTabCustomTooltips
    Określa, czy włączono niestandardowych etykietek narzędzi.

  • bActiveTabCloseButton
    Jeśli TRUE, Zamknij przycisk będzie wyświetlany na aktywnej karcie zamiast rogu obszaru karty.

Uwagi

Wywołanie tej metody, aby włączyć lub wyłączyć funkcję karty MDI ramki okna MDI.Po włączeniu wszystkich okien podrzędnych są wyświetlane jako zakładki.

Etykiety kart może znajdować się u góry lub u dołu ramki, w zależności od ustawienia parametru tabLocation.Można określić albo CMFCTabCtrl::LOCATION_BOTTOM (ustawienie domyślne) lub CMFCTabCtrl::LOCATION_TOP.

Jeśli bTabCustomTooltips jest TRUE, AFX_WM_ON_GET_TAB_TOOLTIP wiadomość zostanie wysłana do okna głównego ramki.Kod można obsłużyć tego komunikatu i ramy z niestandardowych etykietek narzędzi dla kart MDI.

Przykład

W poniższym przykładzie jak EnableMDITabs jest używana w MDITabsDemo próbki: aplikacja MDI zakładkami MFC.

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;

Wymagania

Nagłówek: afxMDIFrameWndEx.h

Zobacz też

Informacje

Klasa CMDIFrameWndEx

Wykres hierarchii