创建一个CTabView类

本文介绍了一个名为CTabView的自定义控件的实现细节,该控件继承自CCtrlView并实现了基本的标签视图功能。文章展示了如何创建控件、设置样式以及初始化标签项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

// 头文件

#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);
 }

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值