CTabCtrl 选项卡

1、

构造

CTabCtrl构造一个CTabCtrl对象
Create创建一个标签控件并将它与一个CTabCtrl对象连接

属性

GetImageList获取与一个标签控件相关的图像列表
SetImageList将一个图像列表分配给一个标签控件
GetItemCount获取此标签控件中的标签的数目
GetItem获取此标签控件中的某一个标签的信息
SetItemExtra设置一个标签控件中的每一个标签为应用程序定义的数据所保留的字节数
GetItemRect获取一个标签控件中的一个标签的边界矩形
GetCurSel确定在一个标签控件中当前选择的标签
SetCurSel在一个标签控件中选择一个标签
SetCurFocus将焦点设置到一个标签控件中的指定标签上
SetItemSize设置某个项的宽度和高度
SetPadding设置一个标签控件中的每一个标签的图标和标签周围的空间(填料)
GetRowCount获取一个标签控件中的标签的当前行数
GetToolTips获取与一个标签控件相关联的工具提示控件的句柄
SetToolTips将一个工具提示控件赋给一个标签控件
GetCurFocus获取一个标签控件的具有当前焦点的标签
SetMinTabWidth设置一个标签控件中的项的最小宽度
GetExtendedStyle获取标签控件当前使用的扩展风格
SetExTendedStyle设置一个标签控件的扩展风格
GetItemState获取指定标签控件项的状态
SetItemState设置指定标签控件项的状态

操作

InsertItem在一个标签控件中插入一个新的标签
DeleteItem从一个标签控件中删除一项
DeleteAllItems从一个标签控件中删除所有的项
AdjustRect根据一个给定的窗口矩形来估算一个标签控件的的显示区域,或根据一个给定的显示区域来估算与之对应的窗口矩形
RemoveImage从一个标签控件的图像列表中删除一个图像
HitTest确定哪一个标签(如果有的话)位于指定的屏幕位置
DeselectAll重新设置一个标签控件中的项,清除任何被按下的项
HighlightItem设置一个标签项的加亮状态

可重载函数

DrawItem绘制一个标签控件的指定项

2、常用示例

2.1 添加一个对话框程序,在主界面中添加一个TabCtrl控件,并添加一个变量m_TabCtrl

2.2 添加三个空对话框,ID分别为IDD_DiALOG1,IDD_DiALOG2,IDD_DiALOG3,并关联三个对话框的类,类名分别为CLCDlg1,CLCDlg2,CLCDlg3

分别删除对话框中的确定和取消按钮并加上不同的静态文字

2.3 在主对话框的头文件中添加三个对话框变量,并加上头文件。

CLCDlg1 m_dlg1; CLCDlg2 m_dlg2; CLCDlg3 m_dlg3;

#include "LCDlg1.h"
#include "LCDlg2.h"
#include "LCDlg3.h"

2.4 重写主对话框的OnInitDialog函数。

CSize size;
size.cx=10;size.cy=10;
m_TabCtrl.SetPadding(size);//设置选项卡之间间隔

m_TabCtrl.InsertItem(0,_T("文件/文件夹"));//插入一个新的标签
m_TabCtrl.InsertItem(1,_T("快捷方式"));
m_TabCtrl.InsertItem(2,_T("快捷安装"));
m_TabCtrl.HighlightItem(0,TRUE);//设置一个标签项的加亮状态
m_TabCtrl.HighlightItem(1,TRUE);
m_TabCtrl.HighlightItem(2,TRUE);
CRect rect; rect.left=50;rect.right=500;rect.top=20;rect.bottom=50;
m_TabCtrl.AdjustRect(TRUE,rect);//根据一个给定的窗口矩形来估算这个标签控件的显示区域

m_dlg1.Create(IDD_DIALOG1,GetDlgItem(IDD_DIALOG1));
m_dlg2.Create(IDD_DIALOG2,GetDlgItem(IDD_DIALOG2));
m_dlg3.Create(IDD_DIALOG3,GetDlgItem(IDD_DIALOG3));

m_TabCtrl.GetClientRect(&rect);
rect.top+=100; 
//rect.bottom-=4; 
rect.left+=100; 
rect.right-=8; 
m_dlg1.MoveWindow(&rect);
m_dlg2.MoveWindow(&rect);
m_dlg3.MoveWindow(&rect);

m_dlg1.ShowWindow(TRUE);
m_TabCtrl.SetCurSel(1);//选择当前标签索引为1

2.5 为TabCtrl控件添加OnSelect()消息

void CLocalSpeedyPPage::OnSelchangeLcTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: 在此添加控件通知处理程序代码
	int curSel= m_TabCtrl.GetCurSel();//当前选择的标签
	switch(curSel)
	{
	     case 0:
			 m_dlg1.ShowWindow(TRUE);
			 m_dlg2.ShowWindow(FALSE);
			 m_dlg3.ShowWindow(FALSE);
			 break;
		 case 1:
			 m_dlg1.ShowWindow(FALSE);
			 m_dlg2.ShowWindow(TRUE);
			 m_dlg3.ShowWindow(FALSE);
			 break;
		 case 2:
			 m_dlg1.ShowWindow(FALSE);
			 m_dlg2.ShowWindow(FALSE);
			 m_dlg3.ShowWindow(TRUE);
			 break;
	}
	*pResult = 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值