C++ 模式对话框的MB_TASKMODAL标志

C++ 模式对话框的MB_TASKMODAL标志,c++,winapi,dialog,modal-dialog,blocking,C++,Winapi,Dialog,Modal Dialog,Blocking,是否可以使用DialogBox(Param)创建一个模式对话框,阻止其所有者线程中的所有其他顶级窗口,类似于使用MB_taskmodel标志创建的消息框 使用场景涉及由多个顶级窗口(主要是无模式对话框)组成的应用程序UI。我不知道是否有API可以做到这一点,但您可以自己做到 调用枚举与线程关联的顶级窗口。在回调函数调用中,禁用窗口(在显示对话框之前)或启用窗口(在对话框关闭之后)。EnumThreadWindows()大大减轻了痛苦。请注意,如果重新启用太晚,可能会将焦点丢失到另一个进程。

是否可以使用DialogBox(Param)创建一个模式对话框,阻止其所有者线程中的所有其他顶级窗口,类似于使用MB_taskmodel标志创建的消息框


使用场景涉及由多个顶级窗口(主要是无模式对话框)组成的应用程序UI。

我不知道是否有API可以做到这一点,但您可以自己做到

调用枚举与线程关联的顶级窗口。在回调函数调用中,禁用窗口(在显示对话框之前)或启用窗口(在对话框关闭之后)。

EnumThreadWindows()大大减轻了痛苦。请注意,如果重新启用太晚,可能会将焦点丢失到另一个进程。