3,881
社区成员
发帖
与我相关
我的任务
分享
// MyTab.cpp : 实现文件
//
#include "stdafx.h"
#include "yangli.h"
#include "MyTab.h"
#include "tyl.h"
#include "xxj.h"
#include "xxl.h"
xxj m_para1;
xxl m_para2;
tyl m_para3;
// MyTab 对话框
IMPLEMENT_DYNAMIC(MyTab, CDialog)
MyTab::MyTab(CWnd* pParent /*=NULL*/)
: CDialog(MyTab::IDD, pParent)
{
}
MyTab::~MyTab()
{
}
void MyTab::DoDataExchange(CDataExchange* pDX)//窗口初始化函数
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TABMAIN, m_tabMain);
//添加选项卡
m_tabMain.InsertItem(0,_T("行星架"));
m_tabMain.InsertItem(1,_T("行星轮"));
m_tabMain.InsertItem(2,_T("太阳轮"));
//关联对话框,并且将IDC_TABMAIN控件设为父窗口
m_para1.Create(IDD_DIALOG3,GetDlgItem(IDC_TABMAIN));
m_para2.Create(IDD_DIALOG4,GetDlgItem(IDC_TABMAIN));
m_para3.Create(IDD_DIALOG5,GetDlgItem(IDC_TABMAIN));
//--------置父窗口-------------------------
m_para1.SetParent(GetDlgItem(IDC_TABMAIN));
m_para2.SetParent(GetDlgItem(IDC_TABMAIN));
m_para3.SetParent(GetDlgItem(IDC_TABMAIN));
//获得IDC_tabMain客户区大小
CRect rs;
m_tabMain.GetClientRect(&rs);
//调整子对话框在父窗口中的位置,可以改动数值,使子窗体的大小合适;
rs.top+=20;
rs.bottom-=3;
rs.left+=2;
rs.right-=2;
//设置子对话框尺寸并移动到指定位置
m_para1.MoveWindow(&rs);
m_para2.MoveWindow(&rs);
m_para3.MoveWindow(&rs);
//分别设置隐藏和显示
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);
//设置默认的选项卡
m_tabMain.SetCurSel(0);
}
BEGIN_MESSAGE_MAP(MyTab, CDialog)
ON_NOTIFY(TCN_SELCHANGE, IDC_TABMAIN, &MyTab::OnTcnSelchangeTabmain)
END_MESSAGE_MAP()
// MyTab 消息处理程序
void MyTab::OnTcnSelchangeTabmain(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: 在此添加控件通知处理程序代码
int CurSel = m_tabMain.GetCurSel();
switch(CurSel)
{
case 0:
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);
break;
case 1:
m_para1.ShowWindow(false);
m_para2.ShowWindow(true);
m_para3.ShowWindow(false);
break;
case 2:
m_para1.ShowWindow(false);
m_para2.ShowWindow(false);
m_para3.ShowWindow(true);
break;
default:;
}
*pResult = 0;
}
这是我的代码。MyTab.cpp是对应加了Tab Control控件的那个对话框。tyl.cpp,xxj.cpp,xxl.cpp就是3个分页面。