다음을 통해 공유


CTabbedPane 클래스

분리 가능한 탭이 포함된 창의 기능을 구현합니다.

또는 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CTabbedPane : public CBaseTabbedPane

멤버

공용 생성자

속성 설명
CTabbedPane::CTabbedPane 기본 생성자입니다.

공용 메서드

이름 설명
CTabbedPane::D etachPane (재정의 CBaseTabbedPane::D etachPane.)
CTabbedPane::EnableTabAutoColor 탭의 자동 색 지정을 사용하거나 사용하지 않도록 설정합니다.
CTabbedPane::FloatTab 창이 현재 분리 가능한 탭에 있는 경우에만 창을 부동합니다. (CBaseTabbedPane::FloatTab을 재정의합니다.)
CTabbedPane::GetTabArea 탭 창 내 탭 영역의 크기와 위치를 반환합니다.
CTabbedPane::GetTabWnd
CTabbedPane::HasAutoHideMode 탭 창을 자동 숨기기 모드로 전환할 수 있는지 여부를 결정합니다. (재정의 CBaseTabbedPane::HasAutoHideMode.)
CTabbedPane::IsTabLocationBottom 탭이 창의 맨 아래에 있는지 여부를 결정합니다.
CTabbedPane::ResetTabs 모든 탭 창을 기본 상태로 다시 설정합니다.
CTabbedPane::SetTabAutoColors 자동 색 기능이 사용되는 경우 사용할 수 있는 사용자 지정 색 목록을 설정합니다.

데이터 멤버

이름 설명
CTabbedPane::m_bTabsAlwaysTop 애플리케이션에서 탭의 기본 위치입니다.
CTabbedPane::m_pTabWndRTC 사용자 지정 CMFCTabCtrl 파생 개체에 대한 런타임 클래스 정보입니다.

설명

사용자가 두 번째 창의 캡션을 가리켜서 한 창을 다른 창에 연결하는 경우 프레임워크에서 자동으로 이 클래스의 인스턴스를 만듭니다. 프레임워크에서 만든 모든 탭 창의 ID는 -1입니다.

Outlook 스타일 탭 대신 일반 탭을 지정하려면 AFX_CBRS_REGULAR_TABS 스타일을 CDockablePane::CreateEx 메서드에 전달합니다.

분리 가능한 탭을 포함하는 탭 창을 만드는 경우 프레임워크에서 자동으로 창을 삭제할 수 있으므로 포인터를 저장하면 안 됩니다. 탭 창에 대한 포인터를 가져오려면 CBasePane::GetParentTabbedPane 메서드를 호출합니다.

예제

이 예제에서는 CTabbedPane 개체를 만듭니다. 다음으로 CBaseTabbedPane::AddTab을 사용하여 추가 탭을 연결합니다.

CTabbedPane* pTabbededBar = new CTabbedPane (TRUE);

if (!pTabbededBar->Create (_T(""),
    this,
    CRect (0,
    0,
    200,
    200),
    TRUE,
    (UINT) -1,
    WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
    WS_CLIPCHILDREN | CBRS_LEFT |
    CBRS_FLOAT_MULTI))
{
    TRACE0("Failed to create Solution Explorer bar\n");

    return FALSE;      // fail to create
}

pTabbededBar->AddTab (&m_wndClassView);
pTabbededBar->AddTab (&m_wndResourceView);

pTabbededBar->AddTab (&m_wndFileView);
pTabbededBar->EnableDocking(CBRS_ALIGN_ANY);

DockPane(pTabbededBar);

탭 컨트롤 막대 개체를 만드는 또 다른 방법은 CDockablePane::AttachToTabWnd를 사용하는 것입니다. 이 메서드는 AttachToTabWnd CDockablePane::SetTabbedPaneRTC에서 설정한 런타임 클래스 정보를 사용하여 탭 창 개체를 동적으로 만듭니다.

이 예제에서는 탭 창을 동적으로 만들고 두 탭을 연결한 다음 두 번째 탭을 분리 불가능하게 만듭니다.

DockPane(&m_wndClassView);

CTabbedPane* pTabbedBar = NULL;
m_wndResourceView.AttachToTabWnd (&m_wndClassView,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

m_wndFileView.AttachToTabWnd (pTabbedBar,
    DM_SHOW,
    TRUE,
    (CDockablePane**) &pTabbedBar);

pTabbedBar->GetUnderlyingWindow ()->EnableTabDetach (1,
    FALSE);

상속 계층 구조

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

CBaseTabbedPane

CTabbedPane

요구 사항

헤더: afxTabbedPane.h

CTabbedPane::D etachPane

virtual BOOL DetachPane(
    CWnd* pBar,
    BOOL bHide = FALSE);

매개 변수

[in] pBar

[in] bHide

Return Value

설명

CTabbedPane::EnableTabAutoColor

탭의 자동 색 지정을 사용하거나 사용하지 않도록 설정합니다.

static void EnableTabAutoColor(BOOL bEnable = TRUE);

매개 변수

bEnable
[in] 탭의 자동 색 지정을 사용하도록 설정하려면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 정적 메서드를 사용하여 애플리케이션의 모든 탭 창에서 탭의 자동 색 지정을 사용하거나 사용하지 않도록 설정합니다. 이 기능을 사용하도록 설정하면 각 탭이 고유한 색으로 채워집니다. CMFCBaseTabCtrl::GetAutoColors 메서드를 호출하여 탭에 색을 지정하는 데 사용되는 색 목록을 찾을 수 있습니다.

CTabbedPane::SetTabAutoColors를 호출하여 탭에 사용할 색 목록을 지정할 수 있습니다.

기본적으로 이 옵션은 사용할 수 없습니다.

CTabbedPane::FloatTab

virtual BOOL FloatTab(
    CWnd* pBar,
    int nTabID,
    AFX_DOCK_METHOD dockMethod,
    BOOL bHide = FALSE);

매개 변수

[in] pBar
[in] nTabID
[in] dockMethod
[in] bHide

Return Value

설명

CTabbedPane::GetTabArea

탭 창에서 탭 영역의 크기와 위치를 반환합니다.

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

매개 변수

rectTabAreaTop
[out] 위쪽 탭 영역의 크기와 위치를 화면 좌표로 포함합니다.

rectTabAreaBottom
[out] 아래쪽 탭 영역의 크기와 위치를 화면 좌표로 포함합니다.

설명

프레임워크는 이 메서드를 호출하여 사용자가 끌어오는 창을 도킹하는 방법을 결정합니다. 사용자가 대상 창의 탭 영역 위로 창을 끌면 프레임워크는 해당 창을 대상 창의 새 탭으로 추가하려고 합니다. 그렇지 않으면 두 창을 구분하는 창 구분선이 있는 새 창 컨테이너를 만드는 작업이 포함된 대상 창의 측면에 창을 도킹하려고 합니다.

이 동작을 CTabbedPane변경하려면 파생 클래스에서 이 메서드를 재정의합니다.

CTabbedPane::GetTabWnd

CMFCTabCtrl* GetTabWnd() const;

Return Value

설명

CTabbedPane::HasAutoHideMode

virtual BOOL HasAutoHideMode() const;

Return Value

설명

CTabbedPane::IsTabLocationBottom

탭이 창의 맨 아래에 있는지 여부를 결정합니다.

virtual BOOL IsTabLocationBottom() const;

Return Value

탭 영역이 탭 창의 아래쪽에 있으면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

CTabbedPane::m_bTabsAlwaysTop

애플리케이션에서 탭의 기본 위치입니다.

AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;

설명

애플리케이션의 모든 탭이 탭 창의 맨 위에 표시되도록 하려면 이 정적 멤버를 TRUE로 설정합니다.

탭 창을 만들기 전에 이 값을 설정해야 합니다.

기본값은 FALSE입니다.

CTabbedPane::m_pTabWndRTC

사용자 지정 CMFCTabCtrl 파생 개체에 대한 런타임 클래스 정보입니다.

AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;

설명

탭 창 내에서 사용자 지정 탭 창을 사용하는 경우 이 정적 멤버 변수를 -derived 개체의 CMFCTabCtrl런타임 클래스 정보에 대한 포인터로 설정합니다.

CTabbedPane::ResetTabs

모든 탭 창을 기본 상태로 다시 설정합니다.

static void ResetTabs();

설명

이 메서드를 호출하여 모든 탭 창을 기본 상태로 되돌리기. 호출될 때 이 메서드는 모든 탭 창의 테두리 크기 및 자동 색 상태를 다시 설정합니다.

CTabbedPane::SetTabAutoColors

자동 색 기능을 사용할 때 사용되는 사용자 지정 색 목록을 설정합니다.

static void SetTabAutoColors(const CArray<COLORREF, COLORREF>& arColors);

매개 변수

arColors
[in] 설정할 색 배열을 포함합니다.

설명

자동 색 기능을 사용할 때 사용되는 색 목록을 사용자 지정하려면 이 메서드를 사용합니다. 이는 정적 함수이며 애플리케이션의 모든 탭 창에 영향을 줍니다.

CTabbedPane::EnableTabAutoColor를 사용하여 자동 색 기능을 사용하거나 사용하지 않도록 설정합니다.

참고 항목

계층 구조 차트
클래스
CDockablePane 클래스
CBaseTabbedPane 클래스
CMFCOutlookBar 클래스