2014-11-25 247 views
0

我是MFC新手(vC++),有兴趣学习它。我有一个父窗口和一个子窗口,我想关闭父窗口和子窗口,当从子窗口按下按钮时,请帮助我这个。 提前感谢。 :)使用子窗口关闭父窗口。

+0

请到目前为止显示您的代码。你有什么尝试? – Deepend 2014-11-25 15:13:39

回答

0

父窗口被销毁时子窗口被销毁。这是正常的行为

如果从孩子叫

GetParent()->DestroyWindow(); 

,母公司被摧毁和孩子。但是,要小心。一个模式对话框不能用DestroyWindow关闭。 EndDIalog是正确的方法。此外,消息和命令路由使得不必处理来自子内部处理程序的父项的破坏。

正如已经写过的:向我们展示更多的代码和问题。

+0

什么代码?要在另一个CPP文件中使用对话框,只需添加标题即可声明对话框并调用DoModal。我不明白你的评论。 – xMRi 2014-11-26 10:32:57

+0

我已经在CPayment.cpp中创建了一个对话框。在另一个.cpp文件中调用对话框我已经使用了下面的代码,CPayment CPay; CPay.Domodal();在该模式框上我有两个按钮,一个是'OK',另一个是'Cancel'。点击确定,对话框关闭。为此,我使用'POSTMESSAGE(WM_CLOSE)',但点击'取消'按钮我需要关闭该对话框的对话框和父窗口。 – 2014-11-26 11:17:16

+0

不要更改对话框中的代码。对话框总是在IDOK或者IDCACNEL的时候关闭。检查返回码od DoModal。如果DoModal返回IDCANCEL做任何你需要销毁的父项。要么再次调用EndDialog或DestroyWindow,要么发布WM_CLOSE ......你没有告诉我们,父类是什么样的窗口。 – xMRi 2014-11-26 12:45:45