Windows上的应用模式文件对话框

时间:2011-12-02 22:16:45

标签: windows winapi visual-c++

如何使用Common File Dialog API创建常用的File对话框App模式?对话框以所有者窗口的形式出现。我希望在文件对话框启动时阻止所有进程的窗口。在我当前的代码中,我禁用属于该应用程序的所有窗口,除了对话框父级,并且当对话框关闭时,我再次启用它们。使用通用文件对话框应该有更好/更简单的方法来实现应用程序范围的模态。如果有标准的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:1)

手动禁用和重新启用是我在Windows中了解的唯一方法。

Windows应用程序的传统模型是每个实例都有一个顶级窗口。 (还记得MDI应用程序吗?)当然,也有例外,许多应用程序总是有浮动工具调色板窗口。尽管如此,禁用父母模型适用于大部分应用程序,并且许多窗口应用程序可以通过手动禁用额外窗口来执行您正在执行的操作。因此,对更通用的解决方案的需求不大。

如果你想重新设计一些东西,你可以拥有一个拥有所有其他顶级窗口的主窗口,并使模态窗口使用master作为父级,但是你必须解决其他问题与任务栏,z顺序和模态窗口的定位有关。