1
單線程Win32 GUI應用程序具有多個頂級窗口。在其中一個窗口的消息處理程序中,它顯示一個模式對話框(例如,通過使用MessageBox函數)。即使應用程序中的唯一線程正在等待模態對話框結果,應用程序中的其他窗口仍然照常工作。多個頂級窗口
此行爲如何工作?
單線程Win32 GUI應用程序具有多個頂級窗口。在其中一個窗口的消息處理程序中,它顯示一個模式對話框(例如,通過使用MessageBox函數)。即使應用程序中的唯一線程正在等待模態對話框結果,應用程序中的其他窗口仍然照常工作。多個頂級窗口
此行爲如何工作?
模式對話框是一個對話框,它禁用它的所有者並輸入消息循環直到它關閉。當它關閉時,調用函數接收到對話結果代碼,然後執行返回到線程消息循環(或之前的模式對話框)。
由於它正在執行消息循環,所以線程中的其他窗口將繼續接收消息。
I.e.其他窗口繼續工作,因爲模態對話框正在調度它們的消息。
'應用程序中的其他窗口仍照常工作嗎?你的意思是你可以給窗口一些鍵/鼠標輸入嗎? – Hemant 2010-10-14 10:55:27
我不明白這個問題。你描述一個特定的行爲,然後問它是如何工作的?你的意思是「我該如何實現類似的東西」? – jalf 2010-10-14 11:01:26
我想知道窗口操作系統如何實現這種行爲? – fishbein 2010-10-14 12:33:57