2010-06-27 91 views
2

我閱讀了很多關於這個主題的文章,其中有一些是在這裏,在stackoverflow上,但沒有人問我的問題。我會盡量具體。多窗口程序

我需要創建一個主窗口(窗口類「a」)的應用程序(本機WinAPI)。當用戶點擊一個按鈕時,彈出一個「b」類的窗口。它可能是莫代爾的,我現在不在乎。

我試着用兩個窗口類和兩個窗口過程做一個應用程序。但問題是,當我關閉第二個窗口時,整個應用程序關閉。

謝謝。

回答

2

根據猜測,第二個窗口的窗口過程基於主窗口的窗口過程,因此當它收到WM_DESTROY時,它調用PostQuitMessage。這對於頂層窗口來說是正常的,因爲用戶期望銷燬它意味着退出應用程序。對於子窗口(模態或其他方式),情況並非如此,所以孩子應該而不是(再次,通常)在其WM_DESTROY處理程序中調用PostQuitMessage

+0

謝謝,這是解決方案。實際上,我在CreateWindow調用中顛倒了類名和標題參數(看起來像頭疼,它工作得很好)。所以彈出窗口使用了主窗口的程序,它具有PostQuitMessage調用。不管怎樣,謝謝。 – GeorgeK 2010-06-27 16:44:22