Tab Control 控件的使用简介

MFC对话框中添加TAB CONTROL空间

1.建立MFC对话框工程

2.删除对话框上的静态文本信息和“确定”,“取消”按钮。

3.添加控件工具栏中拖入即可(如果没有控件工具栏,在ToolsCustomizeToolbarsControls打勾即可)

4.Tab Control控件托到和对话框一样大。

5.右击选择Properties 修改IDIDC_TABCONTROL;再右击选择ClassWizard,在弹出的对话框中选择Member Variables页,在Control IDs栏中选中IDC_TABCONTROL,双击来添加该控件的变量:m_tab;类型为CTabCtrl(默认)。

6.在初始化函数OnInitDialog()// TODO: Add extra initialization here)里面添加选项卡代码;

m_tab.InsertIterm(0,"page1");

m_tab.InsertIterm(0,"page2");

7.为控件添加选项卡(子对话框)page1page2

步骤如下:菜单中选择InsertResourcesDialog,点击New。这样完成了对话框的添加,再去掉按钮;在右击属性中的Style中的下拉框中分别改为ChildNone(子窗口和无边框模式或直接建立FORMVIEW对话框)。ID取名为IDD_PAGE1(注意ID名定义好后不要轻易改动,否则在下面类定义好后修改会导致变量名不一致)。注意这里的Tab Control选项是在上面,要在Properties中把子对话框的坐标改一下(一般的X0  Y15)。

按照以上方法再建立一个对话框,ID取名为IDD_PAGE2

8.添加子对话框对应的类:双击刚建立的对话框,提示添加一个新类:取名为Cpage1;另一取名为Cpage2

到此,我们先整理一下思路:前面先添加了控件,设置了控件的ID和变量名(m_tab);为控件添加了两个选项卡(page1page2),用代码为选项卡取了名字,又添加了类。下面要类声明变量(即类的对象)。因为下面要在每个选项卡中添加自己需要的功能,即要操作的对象是选项卡(即子对话框)。

9.为类添加变量:在CTABCONTROLDlg类中添加代码作为主对话框中的成员变量(通过Workspace的类窗口中右击Add Member Variable来添加,否则容易出错);

Cpage1 m_page1;

Cpage2 m_page2;

10.OnInitDialog()函数中添加代码完成TAB和选项卡的初始化。代码如下:

//关联主对话框和选项卡

m_page1.Create(IDD_PAGE1,GetDlgItem(IDC_TABCONTROL));   

m_page2.Create(IDD_PAGE2,GetDlgItem(IDC_TABCONTROL));

m_page1.ShowWindow(true);  //显示选项卡page1

m_page2.ShowWindow(false); //不显示选项卡page2

m_tab.SetCurSel(0);      //默认显示选项卡为page1 

以上代码是设置Tab Control控件的最简代码,还有设置子对话框的大小和位置等可按情况添加。

11.添加Tab Control控件的事件相应函数(即点击选项卡名字的事件发生时,执行这个函数),通过双击添加的Tab Control来修改,在本程序中该函数名为OnSelchangeTabcontrol()。以下是需要添加的代码:

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:

         ;

     } 

在该函数建立时,MFC会自动添加一句 *pResult = 0; 以上代码加在*pResult = 0;之前。

如果你的程序编译后报错,且提示有未定义的函数,但查看之后明明已经定义了。可能是因为在Word中拷贝过去时是全角字符,重新输入就行了。如果编译没错,执行后没有选项卡按钮,可能是子对话框的坐标设置不对,或者可以修改Tab Control控件的属性(Properties)中More Styles便签(或称为选项卡,这个属性对话框也是一个Tab Control控件)中,把Bottom打勾,把选项卡按钮改到底部。

对于选项卡中如何设置则按照需求设置,这里只用于识别哪个是page1,哪个是page2。运行后的界面如下图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值