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 是包含嵌入式 CMFCTabCtrl 对象的 CView 派生类。 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] 指定要插入视图的从零开始的位置。 如果位置为 -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 派生类中重写此方法以处理此通知。

CTabView::RemoveView

从选项卡控件中删除视图。

BOOL RemoveView(int iTabNum);

参数

iTabNum
[in] 要删除的视图的索引。

返回值

如果此方法成功,则为删除的视图的索引。 否则为 -1。

注解

CTabView::SetActiveView

使视图处于活动状态。

BOOL SetActiveView(int iTabNum);

参数

iTabNum
[in] 选项卡视图的从零开始的索引。

返回值

如果指定的视图处于活动状态,则为 TRUE;如果视图的索引无效,则为 FALSE。

备注

有关详细信息,请参阅 CMFCTabCtrl::SetActiveTab

另请参阅

层次结构图

CMFCTabCtrl
CView 类