标签是作为一个控件而使用的,由于它不是对话框,因此编程时不能直接在各个标签页上添加控件,只能在选中不同标签时在相同的位置显示含有不同控件的对话框。这些对话框可以作为资源添加到项目中。标签控件实现的是在不通对话框窗口之间的切换,而不只是在标签页上控件的显示切换。
编程时常用的函数是InsertItem() 插入一个标签
DeleteItem()删除一个标签
GetCurlSet()获取所选择标签的索引号
SetCurlSet()设置当前标签
TabContrl类中多用到这个结构体TCITEM
typedef struct tagTCITEM{
UINT mask; // TCIF_掩码,用于知名下面的结构成员中哪些是有效的
DWORD dwState; //标签页的当前状态
DWORD dwStateMask;//dwState掩码,知名成员dwState中哪些位有效
LPTSTR pszText;//标签标题
int cchTextMax;//pszText字符串的最大长度
int iImage;//与标签管理的图形列表的索引,若没有则为-1;
LPARAM lParam;//应用程序自定义的与标签页相关的数据
}TCITEM;
例如以下是添加一个标题为My TabPage的标签页
CTabCtrl m_TabCtrl;
TCITEM tci;
tci.mask = TCIF_TEXT;
tci.pszText = "My TabPage";
m_TabCtrl.InterItem(0,&tci);