标签控件简单应用
首先往对话框添加标签控件,调整至合适大小,关联变量m_TabCtrl,再添加两个控件,用于标签项显示,分别是列表视图控件,关联变量m_ListCtrl,树视图控件,关联变量m_TreeCtrl.
这里的树视图,列表视图控件可自行设计,这里我就仅简单的设计一下,对话框初始化函数添加的代码如下:
HTREEITEM hFriends=m_TreeCtrl.InsertItem("朋友");//根结点
m_TreeCtrl.InsertItem("家人");
m_TreeCtrl.InsertItem("小明",hFriends);
m_TreeCtrl.InsertItem("小华",hFriends);
for(int i=0;i<7;i++)
{
CString str;
str.Format("小明%d",i);
m_ListCtrl.InsertItem(0,str,0);
}
m_TabCtrl.InsertItem(0,"ListCtrl");//添加标签项
m_TabCtrl.InsertItem(1,"TreeCtrl");
m_TreeCtrl.SetParent(&m_TabCtrl);//设置标签控件为父窗口
m_ListCtrl.SetParent(&m_TabCtrl);
m_TabCtrl.SetCurSel(0);//设置选中标签
CRect rect;
m_TabCtrl.GetClientRect(rect);//获取标签控件客户区大小
CRect itemRect;
m_TabCtrl.GetItemRect(0,itemRect);//获得一个区域的大小
rect.DeflateRect(0,itemRect.Height()+4,0,0);//调整控件显示大小
m_TreeCtrl.MoveWindow(rect);//移动控件位置,调整控件大小
m_ListCtrl.MoveWindow(rect);
m_TreeCtrl.ShowWindow(SW_HIDE);
然后给标签控件添加TCN_SELCHANGE(项选择改变时)消息处理函数,函数代码如下:
void CFifthDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int Sel=m_TabCtrl.GetCurSel();//获取选择项
if(Sel==0)
{
m_ListCtrl.ShowWindow(SW_SHOW);
m_TreeCtrl.ShowWindow(SW_HIDE);//隐藏树视图控件
}
else
{
m_TreeCtrl.ShowWindow(SW_SHOW);
m_ListCtrl.ShowWindow(SW_HIDE);//隐藏列表视图控件
}
*pResult = 0;
}
运行一下吧!