CDialogCal dlg=new CDialogCal;
dlg.Create(IDD_DIALOG1,NULL);
         return dlg.ShowWindow(SW_SHOW);
//资源那里已经把对话框设为visible

解决方案 »

  1.   

    把代码贴全点看看是不是什么地方调用
    dlg.ShowWindow(SW_HIDE);
      

  2.   

    因为你的dlg是局部变量,一旦函数返回,变量就被释放掉了。所以一闪就消失了。
    把dlg作为类成员,或者用指针也行。
      

  3.   

    在global中调用的
    BOOL bar_dialog()
    {
    CDialogCal dlg=new CDialogCal;
    dlg.Create(IDD_DIALOG1,NULL);
    return dlg.ShowWindow(SW_SHOW);
    }
      

  4.   

    一样的,函数一返回就没了。
    用全局变量吧。
    CDialogCal dlg;
    BOOL bar_dialog()
    {
    dlg.Create(IDD_DIALOG1,NULL);
    return dlg.ShowWindow(SW_SHOW);
    }
      

  5.   

    现在连闪都不闪了
    总是出现异常
    我调试的时候发现
    在执行dlg=new CDialogCal;的开始
    dlg是有值的
    但是就在该句的末尾,dlg就变成空值了
      

  6.   

    你的dlg又不是指针,干吗要new CDialogCal;!