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。