MFC---Tab控件

1、建立基于对话框的MFC工程,名称为tab

2、从工具箱中将Tab控件拖到窗体中,关联变量:m_tab,类型:CTabCtr。
这里写图片描述

3、插入两个对话框:IDD_DIALOG1、IDD_DIALOG2,分别建立类向导,类名称为:CDialog1,CDialgo2。将对话框属性设为:样式–>下层(child),边框–>无
这里写图片描述

4、在tabDlg.h中添加头文件:

   #include "dialog1.h"
   #include "dialog2.h"

成员变量:

   CDialog1 m_dlg1;
   CDialog2 m_dlg2;

5、在tabDlg.cpp中的初始化函数OnInitDialog()添加:

    //关联对话框,其父对话框为tab控件
    m_dlg1.Create(IDD_DIALOG1, &m_tab);  
    m_dlg2.Create(IDD_DIALOG2, &m_tab);

    //向tab控件中插入选项卡
    m_tab.InsertItem(0, "dialog1");   
    m_tab.InsertItem(1, "dialog2");
    m_tab.SetCurSel(0);    //设置默认的选项卡 

    //获得IDC_TAB1客户区大小 
    CRect rs; 
    m_tab.GetClientRect(&rs); 
    //调整子对话框在父窗口中的位置 
    rs.top += 20; 
    rs.bottom -= 1; 
    rs.left += 1; 
    rs.right -= 1; 

    //设置子对话框尺寸并移动到指定位置 
    m_dlg1.MoveWindow(&rs); 
    m_dlg2.MoveWindow(&rs);

    //设置隐藏和显示
    //m_dlg1.CenterWindow();
    m_dlg1.ShowWindow(SW_SHOW);
    m_dlg2.ShowWindow(SW_HIDE);

6、双击Tab控件,添加:

void CTabDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    // TODO: Add your control notification handler code here

    int index = m_tab.GetCurSel();
    switch(index)
    {
    case 0:
        //m_dlg1.CenterWindow();
        m_dlg1.ShowWindow(SW_SHOW);
        m_dlg2.ShowWindow(SW_HIDE);
        break;
    case 1:
        //m_dlg2.CenterWindow();
        m_dlg2.ShowWindow(SW_SHOW);
        m_dlg1.ShowWindow(SW_HIDE);
        break;
    default:
        break;
    }

    *pResult = 0;
}

效果:
这里写图片描述

这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值