MFC 中Tab Control的简单使用

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函数中添加就可以了,其它控件的初始化在这里就不谈了。
以前试了几次,今天终于静下心来初步的搞定了,在这里给大家分享下,中间肯定有不妥之处,敬请各位大侠指教!

http://blog.csdn.net/sciland/archive/2010/05/20/5610680.aspx

MFC(Microsoft Foundation Classes)提供了Tab Control类来实现选项卡控件。Tab Control是一种常见的界面布局,可以在一个窗口切换显示不同的内容。 要在MFC应用程序使用Tab Control,可以按照以下步骤进行操作: 1. 在资源编辑器将一个Tab Control控件添加到你的对话框或窗口。可以在工具栏上找到Tab Control控件,并将其拖放到对话框或窗口的位置。 2. 在类视图找到对应的对话框类,并添加一个成员变量来控制Tab Control控件。右键单击对话框类,在上下文菜单选择"Add Variable"。在对话框变量向导,选择Tab Control控件,并为其添加一个成员变量。 3. 在对话框的OnInitDialog()函数使用Tab Control控件的成员变量来设置选项卡的标签和关联的对话框或窗口。可以使用TabCtrl_InsertItem()函数添加选项卡,使用TabCtrl_SetCurSel()函数设置当前选的选项卡。 4.为每个选项卡关联一个对话框或窗口,以便在切换选项卡时显示相应的内容。可以使用Create()函数创建对应的对话框或窗口,并使用ShowWindow()函数显示或隐藏对话框或窗口。 5. 可以在选项卡切换时处理相应的消息,以便在切换选项卡时执行一些操作。可以在对话框类的OnSelChange()函数处理WM_NOTIFY消息,使用TabCtrl_GetCurSel()函数获取当前选的选项卡索引,并根据需要执行相应的操作。 以上是使用MFC Tab Control的基本步骤,你可以根据自己的需求进行进一步的定制和扩展。希望对你有所帮助!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值