在MDI程序中,菜单栏中点击一个按钮显示了一个非模态对话框,对话框中有默认OK和Cancel两个按钮可以关闭对话剧。问题是这样的:直接点击OK活Cancel可以关闭对话框,但是对话框在内存中还是存在。怎样才能使直接点击OK活Cancel就能删除掉这个非模态对话框呢 ?非常感谢

解决方案 »

  1.   

    在OK和Cancel按钮事件中,加入消毁窗口
    DestroyWindow();
      

  2.   

    发送一个 WM_DESTROY消息,再把那个对话框类的指针Delete掉,这样就完全没有了吧/
      

  3.   

    非模态对话框一般是用DestroyWindow();来关闭,而一般CDialog::OnOK或是CDialog::OnCancel中用的是EndDialog()
      

  4.   

    非模态对话框仅仅用来显示一个图像的直方图的,通过在MDI程序菜单栏中点击一个按钮来显示这个非模态对话框。现在想通过对话框上的OK或者Cancel按钮来删除对话框。对话框的指针现在在View类中定义,该怎么delete掉对话框呢?
      

  5.   

    Destroy之前通知一下View, View收到通知后开始delete不行么-,-?