去掉onok,onclose中的原有函数加入delete this

解决方案 »

  1.   

    假设一个新对话框类为CDialog1:
    1.在你的View类或Frame类中加入了一个成员变量 CDialog1 m_dlg;
    2.加入一个菜单项消息消息处理函数。例如叫做:OnShowDialog();
    3.在OnShowDialog()函数中加入以下的语句:
    void CMainFrame::OnShowDialog() 
    {
    // TODO: Add your command handler code here
        m_dlg.Create(IDD_DIALOG1);//创建无模式式对话框
    m_dlg.ShowWindow(SW_SHOW);//显于对话框}
      

  2.   

    使用下面的例子:CModalessDialog* pDlg = new CModalessDialog(param);
    pDlg.Create(...);重载 CDialog::OnPostNCDestroy() 函数,在里面写上
       delete this;   <-- 消除实例内存
      

  3.   

    CMyDlg m_dlg;   //建立对象
    m_dlg.Create(IDD_DIALOG1);//创建无模式式对话框
    m_dlg.ShowWindow(SW_SHOW);//显于对话框不用时,注销对话框
    m_dlg.DestroyWindow( );
      

  4.   

    不好意思啊!上面的程序有错误!应该改为:假设一个新对话框类为CDialog1:
    1.在你的View类或Frame类中加入了一个成员变量 CDialog1 m_dlg;
    2.加入一个菜单项消息消息处理函数。例如叫做:OnShowDialog();
    3.在框架类的构造函数加入
    CMainFrame::CMainFrame()
    {
    // TODO: add member initialization code here
    m_dlg.Create(IDD_DIALOG1);

    }4.在OnShowDialog()函数中加入以下的语句:
    void CMainFrame::OnShowDialog() 
    {
      // TODO: Add your command handler code here
        m_dlg.ShowWindow(SW_SHOW);//显于对话框}
      

  5.   

    #inclue "MyDlg.h"
    .
    .
    CMyDlg *m_dlg;  
    m_dlg->Create(IDD_DIALOG1);//创建无模式式对话框
    m_dlg->ShowWindow(SW_SHOW);//显于对话框
    .
    .
    .
    m_dlg->DestroyWindow(); 
      

  6.   

    sorry!#inclue "MyDlg.h"
    .
    .
    CMyDlg *m_dlg = new CMyDlg;  
    m_dlg->Create(IDD_DIALOG1);//创建无模式式对话框
    m_dlg->ShowWindow(SW_SHOW);//显于对话框
    .
    .
    .
    m_dlg->DestroyWindow();