Mfc 正在使用子窗口关闭父窗口。!

Mfc 正在使用子窗口关闭父窗口。!,mfc,Mfc,我是MFC(vc++)新手,对学习它很感兴趣。我有一个父窗口和一个子窗口,当按下子窗口中的按钮时,我想关闭父窗口和子窗口。请帮助我。 提前多谢。:) 父窗口被销毁时,子窗口被销毁。这是正常的行为 如果你打电话 GetParent()->DestroyWindow(); 从子级开始,父级被销毁,子级被删除。但是要小心。模式对话框未使用DestroyWindow关闭。EndDIalog是正确的方法。此外,消息和命令路由使得不必从父级处理程序从子级处理程序处理destruytion 如前所述:

我是MFC(vc++)新手,对学习它很感兴趣。我有一个父窗口和一个子窗口,当按下子窗口中的按钮时,我想关闭父窗口和子窗口。请帮助我。
提前多谢。:)

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

如果你打电话

GetParent()->DestroyWindow();
从子级开始,父级被销毁,子级被删除。但是要小心。模式对话框未使用DestroyWindow关闭。EndDIalog是正确的方法。此外,消息和命令路由使得不必从父级处理程序从子级处理程序处理destruytion

如前所述:向我们显示更多代码和问题。

将根据单击的按钮返回IDOK或IDCANCEL。因此,请使用它。
例如:


注意:在MFC中,只有类的标识符将以“C”开头,而不是对象。

请尝试以下操作:

AfxGetApp()->GetMainWnd()->PostMessage(WM_CLOSE);

请显示到目前为止的代码。你试过什么?什么代码?要在另一个CPP文件中使用该对话框,只需包含头文件,声明该对话框并调用DoModal。我不理解你的评论。我在CPayment.cpp中创建了一个对话框。为了调用另一个.cpp文件中的对话框,我使用了以下代码CPayment CPay;CPay.Domodal();在该模式框中,我有两个按钮,一个是“确定”,另一个是“取消”。单击“确定”对话框将关闭。为此,我使用了“POSTMESSAGE(WM_CLOSE)”,但单击“取消”按钮时,我需要关闭对话框和该对话框的父窗口。不要更改对话框中的代码。单击IDOK或IDCACNEL时,对话框始终关闭。检查返回代码od DoModal。如果DoModal返回IDCANCEL,请执行销毁父级所需的任何操作。再次调用EndDialog或销毁窗口或发布WM_CLOSE。。。你没有告诉我们,父母是什么样的人。