为什么我new 一个new Dialog类为一个无模式对话框,在这台电脑上hwnd不是0x000000,而到另一台电脑上却是0x0000000?

解决方案 »

  1.   

    哦,都装有vc6,都是win2000pro+sp4
      

  2.   

    if (m_pWndDlg==NULL) {
                                        m_pWndDlg= new CInputDlg;
    } ((CInputDlg *)m_pWndDlg)->Create(CInputDlg::IDD);
    ((CInputDlg *)m_pWndDlg)->m_pCurrObj = m_pCurrObj;
    ((CInputDlg *)m_pWndDlg)->m_strTrain = ((CDrawSash*)m_pCurrObj)->m_csTrain;
    ((CInputDlg *)m_pWndDlg)->m_strTrack = ((CDrawSash*)m_pCurrObj)->m_csTrack;
    ((CInputDlg *)m_pWndDlg)->m_strGoTime = ((CDrawSash*)m_pCurrObj)->m_csGoTime;
    ((CInputDlg *)m_pWndDlg)->m_strComeTime = ((CDrawSash*)m_pCurrObj)->m_csComeTime;
    ((CInputDlg *)m_pWndDlg)->m_cbSign.SetCurSel(0);///到这行就会终止程序,如果m_pWndDlg的hwnd不是0x00000000,就不会终止
    ((CInputDlg *)m_pWndDlg)->UpdateData(FALSE);
    ((CInputDlg *)m_pWndDlg)->m_cbTrain.EnableWindow(FALSE);
    谢谢指教
      

  3.   

    if (m_pWndDlg==NULL) {
       m_pWndDlg= new CInputDlg;
       ((CInputDlg *)m_pWndDlg)->Create(CInputDlg::IDD);
    }
    ((CInputDlg *)m_pWndDlg)->m_pCurrObj = m_pCurrObj;
    ((CInputDlg *)m_pWndDlg)->m_strTrain = ((CDrawSash*)m_pCurrObj)->m_csTrain;
    ((CInputDlg *)m_pWndDlg)->m_strTrack = ((CDrawSash*)m_pCurrObj)->m_csTrack;
    ((CInputDlg *)m_pWndDlg)->m_strGoTime = ((CDrawSash*)m_pCurrObj)->m_csGoTime;
    ((CInputDlg *)m_pWndDlg)->m_strComeTime = ((CDrawSash*)m_pCurrObj)->m_csComeTime;
    ((CInputDlg *)m_pWndDlg)->m_cbSign.SetCurSel(0);///到这行就会终止程序,如果m_pWndDlg的hwnd不是0x00000000,就不会终止
    ((CInputDlg *)m_pWndDlg)->UpdateData(FALSE);
    ((CInputDlg *)m_pWndDlg)->m_cbTrain.EnableWindow(FALSE);