CTabView 클래스
이 클래스는 CTabView
MFC의 문서/뷰 아키텍처를 사용하는 애플리케이션에서 탭 컨트롤 클래스( CMFCTabCtrl)의 사용을 간소화합니다.
구문
class CTabbedView : public CView
멤버
공용 메서드
이름 | 설명 |
---|---|
CTabView::AddView | 탭 컨트롤에 새 보기를 추가합니다. |
CTabView::FindTab | 탭 컨트롤에서 지정한 뷰의 인덱스 값을 반환합니다. |
CTabView::GetActiveView | 현재 활성 보기에 대한 포인터를 반환합니다. |
CTabView::GetTabControl | 뷰와 연결된 탭 컨트롤에 대한 참조를 반환합니다. |
CTabView::RemoveView | 탭 컨트롤에서 보기를 제거합니다. |
CTabView::SetActiveView | 보기를 활성화합니다. |
보호된 메서드
속성 | 설명 |
---|---|
CTabView::IsScrollBar | 탭 보기를 만들 때 프레임워크에서 호출하여 탭 보기에 공유 가로 스크롤 막대가 있는지 여부를 확인합니다. |
CTabView::OnActivateView | 탭 보기가 활성 또는 비활성 상태일 때 프레임워크에서 호출됩니다. |
설명
이 클래스를 사용하면 문서/보기 애플리케이션에 탭 보기를 쉽게 배치할 수 있습니다. CTabView
는 CView
포함된 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을 참조하세요.