经常会遇到需要对话框按照tab control 选项卡的形式显示在对话框上,怎样将单独的对话框与另一个关联起来呢。
首先新建两个对话框,Dialog1和Dialog2并分别为其生成类CTestpage0 CTestpage1在主对话框CF_testDlg中添加变量CTestpage0(类型) m_rPage0(变量名),同理CTestpage1 m_rPage1,为主对话框添加一个TabControl控件,右键控件,在Classvizzard 中添加一个变量m_rTabCtrl
然后添加程序在主对话框的OnInitDialog中
m_rTabCtrl.InsertItem(0,"运行参数设置");
m_rTabCtrl.InsertItem(1," PID参数设置");
m_rTabCtrl.InsertItem(2,"测试页三");
//建立属性页各页
m_rPage0.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
m_rPage1.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));
m_rPage2.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB1));
//设置页面的位置在m_tab控件范围内
CRect rect;
m_rTabCtrl.GetClientRect(&rect);
rect.top+=20;
rect.bottom-=4;
rect.left+=4;
rect.right-=4;
m_rPage0.MoveWindow(&rect);
m_rPage1.MoveWindow(&rect);
m_rPage2.MoveWindow(&rect);
m_rPage0.ShowWindow(TRUE);
m_rPage1.ShowWindow(FALSE);
m_rPage2.ShowWindow(FALSE);
m_rTabCtrl.SetCurSel(0);