//使用CTabCtrl控件实现属性页功能     

//  在视图窗口内加入CTabCtrl控件,设变量名为m_tab,新建两个对话框属性设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage1,Cpage2,ID号分别为IDD_DIALOG1,IDD_DIALOG2。在CtestView内加入两个变量,Cpage1   page1;Cpage2   page2。     
//  在CtestView的OnInitialUpdae()内初始化     
void   CTestView::OnInitialUpdate()     
{     
    CFormView::OnInitialUpdate();     
    GetParentFrame()
->RecalcLayout();     
    ResizeParentToFit();     

    
if(!page1.m_hWnd||!page2.m_hWnd)   //第一次初始化m_tab   控件和page页的建立     
    {     
        
//初始化m_tab控件     
        m_tab.InsertItem(0,"page0   北京");     
        m_tab.InsertItem(
1,"   page1上海");     
        m_tab.InsertItem(
2,"   page2江西");     

        
//建立属性页各页     
        page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));     
        page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1));     

        
//设置页面的位置在m_tab控件范围内     
        CRect   rs;     
        m_tab.GetClientRect(rs);     
        rs.top
+=20;     
        rs.bottom
-=4;     
        rs.left
+=4;     
        rs.right
-=4;     

        page1.MoveWindow(rs);     
        page2.MoveWindow(rs);     

        page1.ShowWindow(TRUE);     
        m_tab.SetCurSel(
1);     
    }
     
}
     
m_tab控件属性页选择时显示各页     
void   CTestView::OnSelchangeTab1(NMHDR*   pNMHDR,   LRESULT*   pResult)     
{     
    
//   TODO:   Add   your   control   notification   handler   code   here     
    int   CurSel;     
    CurSel
=m_tab.GetCurSel();     
    
switch(CurSel)     
    
{     
    
case   0:     
        page1.ShowWindow(FALSE);     
        page2.ShowWindow(FALSE);     
        
break;     
    
case   1:     
        page1.ShowWindow(TRUE);     
        page2.ShowWindow(FALSE);     
        
break;     
    
case   2:     
        page1.ShowWindow(FALSE);     
        page2.ShowWindow(TRUE);     
        
break;     
    
default:   ;     
    }
     


    
*pResult   =   0;     
}