tab control的使用
1、首先为要放置tab control的对话框新建一个类(CTab),在一个对话框中放置一个tab control,为这个控件添加个变量(m_tab)
2、再新建两个(也可多个,但是比较麻烦,这里就省略了)对话框,把新建的这两个对话框的属性style的值修改为“child”,属性Border的值修改为“none”。
3、分别在新建的对话框中放置一些控件(当然是你需要的控件,你应该会使用这些控件)。
4、分别为新建的对话框建立两个类,名称可为CPara1,CPara2(当然可以是你随便起的名字);然后在放置tab control对话框的类头文件中声明新建对话框类的对象,CPara1 page1;CPara2 page2;
5、在CTab类的cpp文件中的OnInitDialog函数中添加初始化Tab Control的代码(如果没有OnInitDialog函数,要添加上),我写的实验程序中的代码如下
(1)下面的时为tab设置两个属性页,只是起个名字
m_tab.InsertItem(0, _T("1号属性页"));
m_tab.InsertItem(1, _T("2号属性页"));
(2)然后关联属性页与对话框
m_page1.Create(IDD_DIALOG1, &m_tab);
m_page2.Create(IDD_DIALOG2, &m_tab);
(3)设置对话框在属性页上的位置
//设定在Tab内显示的范围
CRect rc;
m_tab.GetClientRect(&rc);
rc.top += 20;
//rc.bottom -= 60;
//rc.left += 10;
//rc.right -= 28;
m_page1.MoveWindow(&rc);
m_page2.MoveWindow(&rc);
//把对话框对象指针保存起来
m_page1.ShowWindow(true);
m_page2.ShowWindow(false);
m_tab.SetCurSel(0);
6、为tab control 添加TCN_SELCHANGE事件,在其中添加如下代码
int CurSel = m_tab.GetCurSel();
switch(CurSel)
{
case 0:
m_page1.ShowWindow(true);
m_page2.ShowWindow(false);
break;
case 1:
m_page1.ShowWindow(false);
m_page2.ShowWindow(true);
break;
default:
;
}
7、你也可以为你新建的对话框中控件添加初始化函数,具体的就是在类的OnInitDialog函数中添加就可以了,其它控件的初始化在这里就不谈了。
以前试了几次,今天终于静下心来初步的搞定了,在这里给大家分享下,中间肯定有不妥之处,敬请各位大侠指教!