1.从工具箱拉一个Tab Control控件到对话框上
2.在在资源视图的Dialog中添加n个对话框窗体ID改为IDD_xxx1,,IDD_xxx2.等等
3.将新添加的n个对话框Border属性改为NONE,Style属性改为Child;
4.分别在这几个新建的对话框上右键添加类输入类名CDialgChild1,CDialgChild2等等
5.在类视图中选择主对话框对应的类,右键选择“添加”–> “添加变量”,输入变量类型“CDialgChild1”,变量名“cDialgChild1”;第二个类似(输入“CDialgChild2”和“cDialgChild2”);
6.右键Tab控件添加变量“m_tab”
7.在OnInitDialog()函数中添加类似如下的代码:
// TODO: 在此添加额外的初始化代码
CRect m_tempRect;
m_tab.GetClientRect(m_tempRect);
m_tempRect.DeflateRect(2, 30, 5, 5);
m_tab.InsertItem(0, "TAB1");
m_tab.InsertItem(1, "TAB2");
cDialgChild1.Create(IDD_xxx1, &m_tab);
cDialgChild2.Create(IDD_xxx2, &m_tab);
cDialgChild1.MoveWindow(m_tempRect);
cDialgChild2.MoveWindow(m_tempRect);
cDialgChild1.ShowWindow(SW_SHOW);
cDialgChild2.ShowWindow(SW_HIDE);
m_tab.SetCurSel(0);
8双击Tab控件添加消息响应函数代码类似如下:
switch (m_tab.GetCurSel())
{
case 0:
cDialgChild1.ShowWindow(SW_SHOW);
cDialgChild2.ShowWindow(SW_HIDE);
break;
case 1:
default:
cDialgChild1.ShowWindow(SW_HIDE);
cDialgChild2.ShowWindow(SW_SHOW);
break;
}
*pResult = 0;
9.VS2013中,有两句要修改一下
m_tab.InsertItem(0, _T(“TAB1”));
m_tab.InsertItem(1, _T(“TAB2”));
10.如果想在标签子页中嵌套添加标签页,子页默认没有初始化函数OnInitDialog(),需在类向导中点击虚函数找到后选择添加