// tab控件,创建2个页面 m_ctrTab.InsertItem(0, _T("窗口01")); m_ctrTab.InsertItem(1, _T("窗口02")); CRect rc; m_ctrTab.GetClientRect(&rc); rc.top += 24; rc.bottom -= 1; rc.left += 1; rc.right -= 2; // dlgTab01是自己添加的标准窗口类 // 设置tab控件是dlgTab01窗口的父窗口 dlgTab01.Create(IDD_DIALOG4, GetDlgItem(IDC_TAB1)); // dlgTab02是自己添加的标准窗口类 dlgTab02.Create(IDD_DIALOG5, GetDlgItem(IDC_TAB1)); // 设置窗口,在tab控件内的位置 dlgTab01.MoveWindow(&rc); dlgTab02.MoveWindow(&rc); dlgTab01.ShowWindow(SW_SHOW); dlgTab02.ShowWindow(SW_HIDE); //dlgTab02.ShowWindow(SW_SHOW
tab页面切换:
void CDlg01::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here int nCurSel = m_ctrTab.GetCurSel(); switch(nCurSel) { case 0: { dlgTab01.ShowWindow(SW_SHOW); dlgTab02.ShowWindow(SW_HIDE); break; } case 1: { dlgTab01.ShowWindow(SW_HIDE); dlgTab02.ShowWindow(SW_SHOW); break; } default: { break; } } *pResult = 0; }
子窗口的样式(STYLES属性页面)需要设置
1).窗口的STYLE设置为child
2).窗口的BORDER设置为None