1.创建一个基于对话框的MFC工程,名称设置为“My”。
2.在自动生成的对话框模板中,删除“TODO: Place dialog controls here.”静态文本框、“OK”按钮和“Cancel”按钮。
在对话框资源上从工具箱中添加上一个TabControl控件;
3. 根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl
4. 创建两个新的对话框其属性作如下修改:
Border:none //边界为空,这样它就没了标题栏
Style :Child // 这样这个模板就可以当作另一个窗口的子窗口了。
Title Bar:False
在上面加一些控件什么的,具体操作跟普通对话框没有区别。
完成后从这两个对话框模板生成新的对话框类CDlg1,CDlg2。
5. 在主对话框头文件CMydlg.h中 #include "Dlg1.h"、#include "Dlg2.h",
并为新添加进来的2个类增加2个变量:
CDlg1 page1;
CDlg2 page2;
6. 在主对话框的OnInitDialog()函数中添加如下类似的代码:
1 // TODO: 在此添加额外的初始化代码 2 TCITEM item; 3 4 item.mask = TCIF_TEXT; 5 item.pszText =_T( "第一页"); 6 m_tabctrl.InsertItem (0,&item); // 插入第一个标签 7 8 item.pszText =_T("第二页"); 9 m_tabctrl.InsertItem (1,&item); // 插入第二个标签 10 11 page1.Create (IDD_DIALOG1,&m_tabctrl); // 创建第一个标签 12 page2.Create (IDD_DIALOG2,&m_tabctrl); // 创建第二个标签 13 14 CRect rect; 15 m_tabctrl.GetClientRect(&rect); // 获取标签控件客户区Rect 16 // 调整tabRect,使其覆盖范围适合放置标签页 17 rect.top+=20; 18 rect.bottom-=4; 19 rect.left+=4; 20 rect.right-=4; 21 22 page1.MoveWindow(&rect); 23 page2.MoveWindow(&rect); 24 page1.ShowWindow(TRUE); 25 m_tabctrl.SetCurSel(0); 26 27 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE