15,979
社区成员
发帖
与我相关
我的任务
分享
CTabCtrl m_Tab;
int m_CurrentTab;
CMyICDMainFrame m_ICD; //添加的两个对话框类
CMyITDMainFrame m_ITD;
CDialogEx * pTabPage[5]; //我添加的对话框类均继承自CDialogEx
void CMy1553BusSimuView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
// 用于显示Tab控件的程序
//创建一个CTabctrl控件
CRect rt;
this->GetClientRect(rt);
m_Tab.Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE, rt, this, IDC_TAB1);
//为Tab Control增加两个页面
m_Tab.InsertItem(0, _T("First"));
m_Tab.InsertItem(1, _T("Second"));
//创建两个对话框
m_ICD.Create(IDD_ICD, &m_Tab);
m_ITD.Create(IDD_ITD, &m_Tab);
//设定在Tab内显示的范围
CRect rc;
m_Tab.GetClientRect(rc);
rc.top += 20;
rc.bottom -= 8;
rc.left += 8;
rc.right -= 8;
m_ICD.MoveWindow(&rc);
m_ITD.MoveWindow(&rc);
//把对话框对象指针保存起来
pTabPage[0] = &m_ICD;
pTabPage[1] = &m_ITD;
//显示初始页面
m_ICD.ShowWindow(SW_SHOW);
m_ITD.ShowWindow(SW_HIDE);
//保存当前选择
m_CurrentTab = 0;
m_Tab.SetCurSel(m_CurrentTab);
}
........
// CMy1553BusSimuView 消息处理程序
void CMy1553BusSimuView::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
pTabPage[m_CurrentTab]->ShowWindow(SW_HIDE);
m_CurrentTab = m_Tab.GetCurSel();
pTabPage[m_CurrentTab]->ShowWindow(SW_SHOW);
*pResult = 0;
}