Chinaunix首页 | 论坛 | 博客
  • 博客访问: 488060
  • 博文数量: 93
  • 博客积分: 1431
  • 博客等级: 上尉
  • 技术积分: 1006
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 10:30
文章分类

全部博文(93)

文章存档

2011年(20)

2010年(2)

2009年(71)

我的朋友

分类: WINDOWS

2011-07-04 10:30:58

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;
}

阅读(6325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~