다음을 통해 공유


CTabView 클래스

이 클래스는 CTabView MFC의 문서/뷰 아키텍처를 사용하는 애플리케이션에서 탭 컨트롤 클래스( CMFCTabCtrl)의 사용을 간소화합니다.

구문

class CTabbedView : public CView

멤버

공용 메서드

이름 설명
CTabView::AddView 탭 컨트롤에 새 보기를 추가합니다.
CTabView::FindTab 탭 컨트롤에서 지정한 뷰의 인덱스 값을 반환합니다.
CTabView::GetActiveView 현재 활성 보기에 대한 포인터를 반환합니다.
CTabView::GetTabControl 뷰와 연결된 탭 컨트롤에 대한 참조를 반환합니다.
CTabView::RemoveView 탭 컨트롤에서 보기를 제거합니다.
CTabView::SetActiveView 보기를 활성화합니다.

보호된 메서드

속성 설명
CTabView::IsScrollBar 탭 보기를 만들 때 프레임워크에서 호출하여 탭 보기에 공유 가로 스크롤 막대가 있는지 여부를 확인합니다.
CTabView::OnActivateView 탭 보기가 활성 또는 비활성 상태일 때 프레임워크에서 호출됩니다.

설명

이 클래스를 사용하면 문서/보기 애플리케이션에 탭 보기를 쉽게 배치할 수 있습니다. CTabViewCView포함된 CMFCTabCtrl 개체를 포함하는 -derived 클래스입니다. CTabView 는 개체를 지원하는 데 필요한 모든 메시지를 처리합니다 CMFCTabCtrl . 클래스 CTabView 를 파생시키고 애플리케이션에 연결한 다음 메서드를 사용하여 파생 클래스를 AddView 추가CView하기만 하면 됩니다. 탭 컨트롤은 해당 보기를 탭으로 표시합니다.

예를 들어 스프레드시트, 차트, 편집 가능한 양식 등 다양한 방식으로 나타낼 수 있는 문서가 있을 수 있습니다. 필요에 따라 데이터를 그리는 개별 보기를 만들고, 파생 개체에 CTabView삽입하고, 추가 코딩 없이 탭으로 만들 수 있습니다.

TabbedView 샘플: MFC 탭 보기 애플리케이션CTabView사용을 보여 줍니다.

예시

다음 예제에서는 TabbedView 샘플에서 사용되는 방법을 CTabView 보여줍니다.

class CTabbedViewView : public CTabView
{
protected: // create from serialization only
   CTabbedViewView();
   DECLARE_DYNCREATE(CTabbedViewView)

   // Attributes
public:
   CTabbedViewDoc *GetDocument();

   // Operations
public:
   // Overrides
public:
   virtual void OnDraw(CDC *pDC); // overridden to draw this view
   virtual BOOL PreCreateWindow(CREATESTRUCT &cs);

protected:
   virtual BOOL OnPreparePrinting(CPrintInfo *pInfo);
   virtual void OnBeginPrinting(CDC *pDC, CPrintInfo *pInfo);
   virtual void OnEndPrinting(CDC *pDC, CPrintInfo *pInfo);

   BOOL IsScrollBar() const
   {
      return TRUE;
   }

   // Implementation
public:
   virtual ~CTabbedViewView();
#ifdef _DEBUG
   virtual void AssertValid() const;
   virtual void Dump(CDumpContext &dc) const;
#endif

protected:
   afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
   afx_msg BOOL OnEraseBkgnd(CDC *pDC);
   afx_msg void OnContextMenu(CWnd *, CPoint point);
   afx_msg void OnFilePrintPreview();

   DECLARE_MESSAGE_MAP()
};

요구 사항

헤더: afxTabView.h

CTabView::AddView

탭 컨트롤에 보기를 추가합니다.

int AddView(
    CRuntimeClass* pViewClass,
    const CString& strViewLabel,
    int iIndex=-1,
    CCreateContext* pContext=NULL);

매개 변수

pViewClass
[in] 삽입된 뷰의 런타임 클래스에 대한 포인터입니다.

strViewLabel
[in] 탭의 텍스트를 지정합니다.

iIndex
[in] 뷰를 삽입할 0부터 시작하는 위치를 지정합니다. 위치가 -1이면 끝에 새 탭이 삽입됩니다.

pContext
[in] 뷰에 대한 CCreateContext 포인터입니다.

Return Value

이 메서드가 성공하면 뷰 인덱스입니다. 그렇지 않으면 -1입니다.

설명

이 함수를 호출하여 프레임에 포함된 탭 컨트롤에 보기를 추가합니다.

CTabView::FindTab

탭 컨트롤에서 지정한 뷰의 인덱스 값을 반환합니다.

int FindTab(HWND hWndView) const;

매개 변수

hWndView
[in] 뷰의 핸들입니다.

Return Value

뷰가 발견되면 뷰의 인덱스입니다. 그렇지 않으면 -1입니다.

설명

이 함수를 호출하여 지정된 핸들이 있는 뷰의 인덱스 검색

CTabView::GetActiveView

현재 활성 뷰에 대한 포인터를 반환합니다.

CView* GetActiveView() const;

Return Value

활성 뷰에 대한 유효한 포인터이거나, 활성 보기가 없는 경우 NULL입니다.

설명

CTabView::GetTabControl

뷰와 연결된 탭 컨트롤에 대한 참조를 반환합니다.

DECLARE_DYNCREATE CMFCTabCtrl& GetTabControl();

Return Value

뷰와 연결된 탭 컨트롤에 대한 참조입니다.

CTabView::IsScrollBar

탭 보기를 만들 때 프레임워크에서 호출하여 탭 보기에 공유 가로 스크롤 막대가 있는지 여부를 확인합니다.

virtual BOOL IsScrollBar() const;

Return Value

탭 보기를 공유 스크롤 막대와 함께 만들어야 하는 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

CTabView 개체를 만들 때 프레임워크에서 이 메서드를 호출합니다.

CTabView 파생 클래스에서 IsScrollBar 메서드를 재정의하고 공유 가로 스크롤 막대가 있는 보기를 만들려는 경우 TRUE를 반환합니다.

CTabView::OnActivateView

탭 보기가 활성 또는 비활성 상태일 때 프레임워크에서 호출됩니다.

virtual void OnActivateView(CView* view);

매개 변수

view
[in] 뷰에 대한 포인터입니다.

설명

기본 구현은 아무 작업도 수행하지 않습니다. 이 알림을 처리하려면 파생 클래스에서 CTabView이 메서드를 재정의합니다.

CTabView::RemoveView

탭 컨트롤에서 보기를 제거합니다.

BOOL RemoveView(int iTabNum);

매개 변수

iTabNum
[in] 제거할 뷰의 인덱스입니다.

Return Value

이 메서드가 성공하면 제거된 뷰의 인덱스입니다. 그렇지 않으면 -1입니다.

설명

CTabView::SetActiveView

보기를 활성화합니다.

BOOL SetActiveView(int iTabNum);

매개 변수

iTabNum
[in] 탭 보기의 인덱스(0부터 시작하는 인덱스)입니다.

Return Value

지정한 뷰가 활성화된 경우 TRUE이고 보기의 인덱스가 유효하지 않으면 FALSE입니다.

설명

자세한 내용은 CMFCTabCtrl::SetActiveTab을 참조하세요.

참고 항목

계층 구조 차트
클래스
CMFCTabCtrl
CView 클래스