myT.InsertItem(0,_T("首页"));
myT.InsertItem(1,_T("日记"));
myT.InsertItem(2,_T("脚本"));
myT.InsertItem(3,_T("设置")); dlg1.Create(ID_DLG1,GetDlgItem(IDC_TAB1));
dlg2.Create(ID_DLG2,GetDlgItem(IDC_TAB1));
dlg3.Create(ID_DLG3,GetDlgItem(IDC_TAB1));
dlg4.Create(ID_DLG4,GetDlgItem(IDC_TAB1));TAB 有4个页   建了4个对话框  
void CMyCDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult)
{
int CurSel = myT.GetCurSel();
switch(CurSel)
{
case 0:
dlg1.ShowWindow(TRUE);
dlg2.ShowWindow(FALSE);
dlg3.ShowWindow(FALSE);
dlg4.ShowWindow(FALSE);
   break;
case 1:
dlg1.ShowWindow(FALSE);
dlg2.ShowWindow(TRUE);
dlg3.ShowWindow(FALSE);
dlg4.ShowWindow(FALSE);
 break;
case 2:
dlg1.ShowWindow(FALSE);
dlg2.ShowWindow(FALSE);
dlg3.ShowWindow(TRUE);
dlg4.ShowWindow(FALSE);
case 3:
dlg1.ShowWindow(FALSE);
dlg2.ShowWindow(FALSE);
dlg3.ShowWindow(FALSE);
dlg4.ShowWindow(TRUE);
default:
 break;
}
*pResult = 0;
}就是 点第一和第二页 的时候  正常  点第三页 和第四页的时候  显示第4个对话框  
如果第四个对话框去掉了  又是正常  加第四个就不对劲了 ~~~大侠们帮忙怎么回事????

解决方案 »

  1.   

    忘了  第一页显示dlg1  第二页显示 dlg2  第三页显示dlg3 第四页显示dlg4现在的问题是第一和第二也显示正常 第三第四也显示的同意个dlg4
      

  2.   


    myT.InsertItem(0,_T("首页")); 
    myT.InsertItem(1,_T("日记")); 
    myT.InsertItem(2,_T("脚本")); 
    myT.InsertItem(3,_T("设置")); dlg1.Create(ID_DLG1,GetDlgItem(IDC_TAB1)); 
    dlg2.Create(ID_DLG2,GetDlgItem(IDC_TAB1)); 
    dlg3.Create(ID_DLG3,GetDlgItem(IDC_TAB1)); 
    dlg4.Create(ID_DLG4,GetDlgItem(IDC_TAB1)); TAB 有4个页  建了4个对话框  
    void CMyCDlg::OnTcnSelchangeTab1(NMHDR *pNMHDR, LRESULT *pResult) 

    int CurSel = myT.GetCurSel(); 
    switch(CurSel) 

    case 0: 
    dlg1.ShowWindow(TRUE); 
    dlg2.ShowWindow(FALSE); 
    dlg3.ShowWindow(FALSE); 
    dlg4.ShowWindow(FALSE); 
      break; 
    case 1: 
    dlg1.ShowWindow(FALSE); 
    dlg2.ShowWindow(TRUE); 
    dlg3.ShowWindow(FALSE); 
    dlg4.ShowWindow(FALSE); 
    break; 
    case 2: 
    dlg1.ShowWindow(FALSE); 
    dlg2.ShowWindow(FALSE); 
    dlg3.ShowWindow(TRUE); 
    dlg4.ShowWindow(FALSE); 
    break; //你把这个break给丢了;问题就是出在这个地方;
    case 3: 
    dlg1.ShowWindow(FALSE); 
    dlg2.ShowWindow(FALSE); 
    dlg3.ShowWindow(FALSE); 
    dlg4.ShowWindow(TRUE); 
    break; //这个地方也需要break;
    default: 
    break; 

    *pResult = 0;