MFC---Tab控件

来源:互联网 发布:h5直播源码 编辑:程序博客网 时间:2024/05/29 14:28

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 0