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);
상속 계층 구조
요구 사항
헤더: 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 클래스