2014-11-25 241 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