创建一个CTabView类

 

//  头文件

#pragma  once


//  CTabView

class  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 "

//  CTabView

IMPLEMENT_DYNCREATE(CTabView, CCtrlView)
CTabView::CTabView() :
 CCtrlView(_T(
" SysTabControl32 " ), AFX_WS_DEFAULT_VIEW)
{
}


CTabView::
~ CTabView()
{
}



BEGIN_MESSAGE_MAP(CTabView, CCtrlView)
END_MESSAGE_MAP()

 

//  CTabView message handlers
CTabCtrl &  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(
1000));
 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);
 }

}

你可能感兴趣的:(界面/图形)