Share via


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埋め込みオブジェクトを含む -derived CMFCTabCtrl クラスです。 CTabView は、オブジェクトをサポートするために必要なすべてのメッセージを CMFCTabCtrl 処理します。 クラスCTabViewを派生させてアプリケーションにプラグインし、メソッドを使用して -derived クラスをAddView追加CViewするだけです。 タブ コントロールには、これらのビューがタブとして表示されます。

たとえば、スプレッドシート、グラフ、編集可能なフォームなど、さまざまな方法で表すことができるドキュメントがあるとします。 必要に応じてデータを描画する個々のビューを CTabView作成し、それらを -derived オブジェクトに挿入し、追加のコーディングなしでタブ付けすることができます。

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 ポインター。

戻り値

このメソッドが成功した場合のビュー インデックス。 それ以外の場合は、-1。

解説

フレームに埋め込まれているタブ コントロールにビューを追加するには、この関数を呼び出します。

CTabView::FindTab

タブ コントロール内の指定したビューのインデックスを返します。

int FindTab(HWND hWndView) const;

パラメーター

hWndView
[in]ビューのハンドル。

戻り値

ビューが見つかった場合のインデックス。それ以外の場合は -1。

解説

指定したハンドルを持つビューのインデックスを取得するには、この関数を呼び出します。

CTabView::GetActiveView

現在アクティブなビューへのポインターを返します。

CView* GetActiveView() const;

戻り値

アクティブ ビューへの有効なポインター。アクティブなビューがない場合は NULL。

解説

CTabView::GetTabControl

ビューに関連付けられているタブ コントロールへの参照を返します。

DECLARE_DYNCREATE CMFCTabCtrl& GetTabControl();

戻り値

ビューに関連付けられているタブ コントロールへの参照。

CTabView::IsScrollBar

タブ ビューの作成時にフレームワークによって呼び出され、タブ ビューに共有の水平スクロール バーがあるかどうかを判断します。

virtual BOOL IsScrollBar() const;

戻り値

共有スクロール バーと共にタブ ビューを作成する必要がある場合は TRUE。 それ以外の場合は FALSE。

解説

フレームワークは、CTabView オブジェクトの作成時にこのメソッドを呼び出します。

CTabView 派生クラスの IsScrollBar メソッドをオーバーライドし、共有の水平スクロール バーを持つビューを作成する場合は TRUE を返します。

CTabView::OnActivateView

タブ ビューがアクティブまたは非アクティブになったときにフレームワークによって呼び出されます。

virtual void OnActivateView(CView* view);

パラメーター

view
[in]ビューへのポインター。

解説

既定の実装では、何も行われません。 この通知を処理するには、 CTabView-derived クラスでこのメソッドをオーバーライドします。

CTabView::RemoveView

タブ コントロールからビューを削除します。

BOOL RemoveView(int iTabNum);

パラメーター

iTabNum
[in]削除するビューのインデックス。

戻り値

このメソッドが成功した場合の削除されたビューのインデックス。 それ以外の場合は -1。

解説

CTabView::SetActiveView

ビューをアクティブにします。

BOOL SetActiveView(int iTabNum);

パラメーター

iTabNum
[in]タブ ビューの 0 から始まるインデックス。

戻り値

指定したビューがアクティブになっている場合は TRUE、ビューのインデックスが無効な場合は FAL Standard Edition。

解説

詳細については、「CMFCTabCtrl::SetActiveTab」を参照 してください

関連項目

階層図
クラス
CMFCTabCtrl
CView クラス