我在TabCtrl 上加控件,第一页树型控件已经加入也显示,第二,第三页加对话框为什么不行,我加的语句为:
     m_TabCtrl.AddPage(RUNTIME_CLASS(CFirstDlg),IDD_DIALOGBAR1,"第二页",IDI_ICON2);     m_TabCtrl.AddPage(RUNTIME_CLASS(CSecondDlg),IDD_DIALOGBAR2,"第三页",IDI_ICON3);
 两个对话框已经声明,而且程序编译通过,就是不出后两页,我有一个例子就是这样的它可以,我自己写的就不行,是那里没有声明什么吗??高手指点,急用

解决方案 »

  1.   

    我找了一下问题所在是 调用 Dialog类的Create函数时总是出错。
    原码:
    CDialog *pDlg = (CDialog*)pClass->CreateObject();
         pDlg->Create(nIDTemplate,this)
      

  2.   

    CTabCtrl类有AddPage函数吗?我的只有InsertItem呀
      

  3.   

    AddPage 是自己加的函数,如下:
    BOOL CCoolTabCtrl::AddPage(CRuntimeClass* pClass,UINT nIDTemplate, LPCTSTR sText, UINT IconID)
    {
    CDialog *pDlg = (CDialog*)pClass->CreateObject();
    if(pDlg != NULL)
    if(pDlg->Create(nIDTemplate,this))
    {
    CPageItem *pItem;
    pItem = new CPageItem();
    pItem->m_pWnd = (CWnd*)pDlg;
    pItem->m_nStyle = 1;///Dialog
    pItem->m_sText = sText;
    if(IconID)
    pItem->m_hIcon = AfxGetApp()->LoadIcon(IconID);
    else
    pItem->m_hIcon = NULL;
    CRect rect;
    GetClientRect(rect);
    pDlg->MoveWindow(rect);
    m_PageList.AddTail(pItem);
    return TRUE;
    }
    return FALSE;
    }在这个函数里程序运行到
       if(pDlg->Create(nIDTemplate,this))
    处条件不成立,跳过去了,到底是什么原因??