我在主窗体下建立一个按键,按下打开子窗体,子窗体为IDD_JINHUOvoid CWebsoftDlg::OnJinHuo() 
{
     CDialog   dlg(IDD_JINHUO); //模式对话框
               dlg.DoModal();  
}以上语句已经能让子窗体成功弹出,然后我又在子窗体上建立一个按键,按下按键弹出一个消息窗体,如下代码void JinHuoDlg::Onjisuan() 
{
// TODO: Add your control notification handler code here
MessageBox(NULL,0,0);
}编译通过,可是按下按钮,子窗体的弹窗死活弹不出来,查阅了一下文章说,此建立的是模式对话框,是无法操作的??
建立非模式对话框才可以???因为本人初学,还是初级阶段,一知半解,我重新编写打开子窗体的代码如下:在类下定义了变量指针
CWebsoftDlg* dlg;void CWebsoftDlg::OnJinHuo() 
{
       dlg-> Create(IDD_JINHUO,NULL); //非模式对话框
       dlg-> ShowWindow(SW_SHOW); 
                  dlg-> UpdateWindow();
 
}
编译通过,可惜却无法再无法打开子窗体了,只要打开那时就会弹出一个类似内存出错的窗体。
有比较了解的朋友,指点一下,该如何才能达到我想要的效果,因为是初学,希望提示带有代码。谢谢

解决方案 »

  1.   

    加上一行:
    dlg = new CWebsoftDlg
      

  2.   

    加上一行:
    dlg = new CWebsoftDlg
    也不能打开子窗口了,变成dlgdata.cpp 43行出错。
      

  3.   

    就是在子窗口上按下按钮弹出本应该弹出MessageBox,却是无法响应,无任何显示。
      

  4.   

    void CWebsoftDlg::OnJinHuo()  
    {
      CDialog dlg(IDD_JINHUO); //模式对话框
      dlg.DoModal();   
    }
    //建立模板(对话框资源)后要产生一个新类CYourDialog。
    void CWebsoftDlg::OnJinHuo()  
    {
      CYourDialog dlg; //模式对话框
      dlg.DoModal();   
    }
      

  5.   

    我建立有CYourDialog新类,为什么提示CYourDialog这个未定义呢?