// 头文件#pragma once// CTabViewclass CTabView : public CCtrlView...{ DECLARE_DYNCREATE(CTabView)public: CTabView(); virtual ~CTabView(); CTabCtrl& GetTabCtrl() const;protected: DECLARE_MESSAGE_MAP() virtual BOOL PreCreateWindow(CREATESTRUCT& cs);public: virtual void OnInitialUpdate();};// 源文件#include "stdafx.h"#include "TabView.h"// CTabViewIMPLEMENT_DYNCREATE(CTabView, CCtrlView)CTabView::CTabView() : CCtrlView(_T("SysTabControl32"), AFX_WS_DEFAULT_VIEW)...{}CTabView::~CTabView()...{}BEGIN_MESSAGE_MAP(CTabView, CCtrlView)END_MESSAGE_MAP() // CTabView message handlersCTabCtrl& CTabView::GetTabCtrl() const...{ return *(CTabCtrl*)this;}BOOL CTabView::PreCreateWindow(CREATESTRUCT& cs)...{ // TODO: Add your specialized code here and/or call the base class if(!CCtrlView::PreCreateWindow(cs)) return FALSE; //cs.style |= TCS_FIXEDWIDTH; return TRUE;}void CTabView::OnInitialUpdate()...{ CCtrlView::OnInitialUpdate(); // TODO: Add your specialized code here and/or call the base class static CString sLable[] = ...{ _T("Tab No 1"), _T("Tab No 2"), _T("Tab No 3") }; GetTabCtrl().SetItemSize(CSize(100, 0)); TC_ITEM item; item.mask = TCIF_TEXT; for(int i=0; i<3; i++) ...{ item.pszText = (LPSTR)(LPCTSTR)sLable[i]; item.cchTextMax = sLable[i].GetLength(); GetTabCtrl().InsertItem(i, &item); }}