1. 插入主对话框 ,添加tabcontrol 控件
2. 插入子对话框
子对话框 属性设置
ID---------
Border ----None
Style ------Child
3. 依次创建子对话框的 各个类
4. 在主对话框.h 文件中 添加 各个对话框类的 头文件,并定义 成员变量
CDialogData m_dialogdata;
CDialogControl m_dialogcontrol;
CDialogGateway m_dialoggateway;
CDialogPassword m_dialogpassword;
5.主对话框 cpp 初始化时中添加:
m_tabctrl.InsertItem(0,_T("数据浏览"));//“选项卡1”可更改,是sheet页的名字;
m_tabctrl.InsertItem(1,_T("设备控制"));
m_tabctrl.InsertItem(2,_T("设备管理"));
m_tabctrl.InsertItem(3,_T("系统管理"));
//关联对话框,并且将IDC_TABMAIN控件设为父窗口
m_dialogdata.Create(IDD_DATA_DIALOG,GetDlgItem(IDC_TABMAIN));
m_dialogcontrol.Create(IDD_CONTROL_DIALOG,GetDlgItem(IDC_TABMAIN));
m_dialoggateway.Create(IDD_GATEWAY_DIALOG,GetDlgItem(IDC_TABMAIN));
m_dialogpassword.Create(IDD_PASSWORD_DIALOG,GetDlgItem(IDC_TABMAIN));
//获得IDC_tabMain客户区大小
CRect rs;
m_tabctrl.GetClientRect(&rs);
//调整子对话框在父窗口中的位置,可以改动数值,使子窗体的大小合适;
rs.top+=20;
rs.bottom-=3;
rs.left+=2;
rs.right-=2;
//设置子对话框尺寸并移动到指定位置
m_dialogdata.MoveWindow(&rs);
m_dialogcontrol.MoveWindow(&rs);
m_dialoggateway.MoveWindow(&rs);
m_dialogpassword.MoveWindow(&rs);
//分别设置隐藏和显示
m_dialogdata.ShowWindow(true);
m_dialogcontrol.ShowWindow(false);
m_dialoggateway.ShowWindow(false);
m_dialogpassword.ShowWindow(false);
//设置默认的选项卡
m_tabctrl.SetCurSel(0);
6.在 tabcontrol 上 添加 事件处理函数 OnTcnSelchangeTabmain
7. 在 OnTcnSelchangeTabmain 函数中实现:
void CG2ClientDlg::OnTcnSelchangeTabmain(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
int CurSel = m_tabctrl.GetCurSel();
switch(CurSel)
{
case 0:
m_dialogdata.ShowWindow(true);
m_dialogcontrol.ShowWindow(false);
m_dialoggateway.ShowWindow(false);
m_dialogpassword.ShowWindow(false);
break;
case 1:
m_dialogdata.ShowWindow(false);
m_dialogcontrol.ShowWindow(true);
m_dialoggateway.ShowWindow(false);
m_dialogpassword.ShowWindow(false);
break;
case 2:
m_dialogdata.ShowWindow(false);
m_dialogcontrol.ShowWindow(false);
m_dialoggateway.ShowWindow(true);
m_dialogpassword.ShowWindow(false);
break;
case 3:
m_dialogdata.ShowWindow(false);
m_dialogcontrol.ShowWindow(false);
m_dialoggateway.ShowWindow(false);
m_dialogpassword.ShowWindow(true);
break;
default:;
}
*pResult = 0;
}