多个顶级窗口

时间:2010-10-14 08:26:48

标签: c++ mfc

单线程Win32 GUI应用程序具有多个顶级窗口。在其中一个窗口的消息处理程序中,它显示一个模式对话框(例如,通过使用MessageBox函数)。应用程序中的其他窗口仍然照常工作,即使应用程序中唯一的线程正在等待模式对话框结果。

这种行为如何运作?

1 个答案:

答案 0 :(得分:0)

模态对话框是一个对话框,它禁用它的所有者并进入消息循环直到它关闭。当它关闭时,调用函数接收对话结果代码,执行返回到线程消息循环(或前一个模态对话框)。

由于它正在执行消息循环,因此线程中的其他窗口将继续接收消息。

即。其他窗口继续工作,因为模态对话框正在调度它们的消息。