1、
构造
属性
| 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;
- }