首先,創建一個TabControl控件,並綁定一個變量方便操作。
xxxDlg.cpp中綁定
void CTestDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX, IDC_TAB1, m_tab);
}
在DIALOG空白處右鍵,選擇添加類添加一個DIALOG
xxxDlg.h中聲明變量(記得把前面新建的類的頭文件包含進來,這裏是page1.h)
public:
CTabCtrl m_tab;
page1 page;
資源視圖Dialog中選擇添加資源新建一個對話框。
在初始化函數中將m_tab和page綁定,並設置位置
m_tab.InsertItem(0, _T("test")); //爲tab添加標籤,設置名稱
page.Create(IDD_DIALOG1, &m_tab); //創建子控件
//設置子控件位置
CRect rs; m_tab.GetClientRect(&rs);
rs.top += 25; rs.bottom -= 0; rs.left += 0; rs.right -= 0;
page.MoveWindow(&rs);
page.ShowWindow(true); //初始時顯示
m_tab.SetCurSel(0); //tab默認切換爲0
下圖爲運行效果。可以看出來似乎有點問題,子控件沒有在父控件中。
找到子控件的DIALOG,將Style設爲Child。一般來說子控件的border需要設爲無。
再運行查看結果,可以看到很好的解決了。