大家好,在非模态对话框点击上面默认生成的确定或取消后,当再次运行后点击确定或取消后就会出错,请问这种情况该如何解决?

解决方案 »

  1.   

    看看是不是不小心删掉了默认生成的CDialog::OnOK() 这句话,以前自己碰到过
      

  2.   

    你关闭对话框后没有调用DestroyWindow 销毁窗口句柄
      

  3.   

    根本原因如3楼所说,最简单的解决方法就是如二楼所说在你的"确定"按钮代码中加一句cdialog:onok或cdialog:onconcel以销毁窗口,注意大小写.
      

  4.   

    非模式对话框几乎总要覆盖OnOK和OnCancel。因为非模式对话框是用DestroyWindow清除的,而不是EndDialog,所以在非模式对话框中必须避免调用CDialog::OnOK和CDialog::OnCancel
      

  5.   

    重写ONOK事件,或在DESTORY哪里进行释放对象,销毁窗口.