다음을 통해 공유


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 Microsoft OneNote 탭.

  • bTabCustomTooltips
    사용자 지정 도구 설명을 사용할 수 있는지 여부를 지정 합니다.

  • bActiveTabCloseButton
    경우 TRUEa 닫기 단추 대신 활성 탭 탭 영역의 오른쪽 위 모서리에 표시 됩니다.

설명

MDI 프레임 창에 대 한 MDI 탭 기능을 사용할지 여부는이 메서드를 호출 합니다. 사용 하는 경우 자식 창은 모두 탭으로 표시 됩니다.

탭 레이블 위와 매개 변수의 설정에 따라 프레임의 아래쪽에 위치할 수 tabLocation. 하나를 지정할 수 있습니다 CMFCTabCtrl::LOCATION_BOTTOM (기본 설정) 또는 CMFCTabCtrl::LOCATION_TOP.

경우 bTabCustomTooltips 는 TRUE, 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 클래스

계층 구조 차트