mfc中button按钮打开新对话框,关闭原对话框,怎么办?

2024-12-14 19:28:33
推荐回答(2个)
回答1:

两种方法
1)起两个进程
2)用你的老方法 ,但是你在dlg->DestroyWindow()的时候只是将你的新对话框destroy了,并没有将旧对话框destroy掉,所以应该响应新对话框的WM_DESTROY同时应该向旧对话框也要发送WM_DESTROY消息 这样进程就退出了.

回答2:

我说说我的理解,你自己斟酌着看。

首先,你调Create说明你调的是非模态对话框,如果是非模态对话框就需要:
1.重写CDialog::OnOk和CDialog::OnCancel在函数中调用DestroyWindow()
2.重写CWnd::PostNcDestroy函数delete this;
这样当你需要结束此对话框的时候直接调CDialog::OnOk或者CDialog::OnCancel都行

我不知道你原先的对话框是什么模式的,如果不是CDialog::DoModal(模式对话框的调用方式)的话一样应该这样处理的。