Cdialog kkk;
kkk.Create(...) 就可以了

解决方案 »

  1.   

    补充:
    相对于模式,直接kkk.DoModel()
    无模式Create(...)后
    kkk.OnOk()等操作。
      

  2.   

    你可以重载CDialog的Create函数,随便你给不给参数:
    比如:
    CMyDialog::Create()
    {
        …………
        //可以在这里作一些必要的工作;
        return CDialog::Create(CMessageDlg::IDD);
    }
    如果你要加几个参数也可以。
      

  3.   

    加上:kkk.ShowWindow(SW_HIDE);忘了不知道要不要,请指正。
      

  4.   

    更正:kkk.ShowWindow(SW_SHOW);忘了不知道要不要,请指正。
      

  5.   

    TO VCMFC:
      要的
      

  6.   

    谢谢大家,尤其是lhxx,昨晚我都睡了,突然呼机响,原来还有人在回答我的问题?呵,我的问题太简单了,让大家见笑了,和先试一下。
      

  7.   

    我做了,但一闪就没影儿了,怎么会事,我是这样做的:先插入一个对话框,(其忏悔未作任何改动)然后在其中加入几个控件,为对话框加入了一个类,这个类未作任何改动,在打开时这样,
    CDLG dlg;
    dlg.Create(IDC_DIALOG1,this);
    dlg.ShowWindow(SW_SHOW);
      

  8.   

    先建立模式对话框。下面是我的程序中的部分代码
    修改后的 CDialog(CTagAdjust::IDD, pParent)函数:
    CTagAdjust::CTagAdjust(CWnd* pParent /*=NULL*/)
    // : CDialog(CTagAdjust::IDD, pParent)。
    {
        ...
    }重载Create函数:BOOL CTagAdjust::Create() 
    {
    return CDialog::Create(CTagAdjust::IDD);
    }用此函数调用对话框。
    调用代码如下:
             m_ptagadjustdlg=new CTagAdjust;
    if(m_ptagadjustdlg->GetSafeHwnd()==NULL)
    m_ptagadjustdlg->Create();
    m_ptagadjustdlg->ShowWindow(SW_SHOW);
      

  9.   

    简单一点说吧, 就重载CModelessDlg::Create(..)或者根本就不用重载,加一个成员函数
    CModelessDlg::ShowDlg()
    {
      CDialog::Create(IDD_MODELESS); // IDD_MODELESS是你建立的对话框资源名
    }
    然后...
    CModelessdlg::HideDlg()
    {
      CDialog::DestroyWindow();
    }
    就可以了, 而且就算对话框不在显示状态,用DestroyWindow()也没问题.搞定以后,就这样用:
    CModelessDlg dlg;
    dlg.ShowDlg();
    ...
    用完以后...
    dlg.HideDlg();
    即可, 很方便吧?
      

  10.   

    简单一点说吧, 就重载CModelessDlg::Create(..)或者根本就不用重载,加一个成员函数
    CModelessDlg::ShowDlg()
    {
      CDialog::Create(IDD_MODELESS); // IDD_MODELESS是你建立的对话框资源名
    }
    然后...
    CModelessdlg::HideDlg()
    {
      CDialog::DestroyWindow();
    }
    就可以了, 而且就算对话框不在显示状态,用DestroyWindow()也没问题.搞定以后,就这样用:
    CModelessDlg dlg;
    dlg.ShowDlg();
    ...
    用完以后...
    dlg.HideDlg();
    即可, 很方便吧?
      

  11.   

    创建一个无模式对话框之后,为什么在做一些文件拷贝之类的,一旦最小话对话框之后,
    对话框就不能刷新了,即使我SendMessage()让他Invalidate();
      

  12.   

    为什么我用时定义就会出错:
    dlgTest dlg;
    编译:error C2065: 'dlgTest' : undeclared identifier
      

  13.   

    cn2000,最后别忘了加入消息响应函数:
    void CYourDlg::PostNcDestroy() 
    {
    //删除CYourDlg对象本身
    delete this;
    }
    ————————————————————————————————
    misterzhao,你的错误可能在于没有将dlgTest的头文件包含进来。