Delphi:来自非模态二级形式的'ShowModal'

时间:2012-10-15 09:58:15

标签: forms delphi modal-dialog non-modal

我们有一个主表格和第二个非模态表格的应用程序可以并排使用。我们的主窗体显示了配置列表,而第二个非模态窗体更详细地显示了配置。

当我们显示一个模态形式(从第二个非模态形式请求)时,主窗体会弹出第二个窗体前面,直到我们关闭该模态窗体。

我该如何避免这种行为?我已经尝试以不同的方式创建最后一个模态形式('Applicaton.CreateForm','TForm.Create',设置父级),但仍然可以弹出主窗体。

有什么想法吗?

提前致谢!

1 个答案:

答案 0 :(得分:5)

Application.ModalPopupMode设为pmAuto

这是文档所说的:

TForm.PopupParent

设置用户无法更改的堆叠表单的顺序。 如果PopupMode属性设置为pmExplicit且PopupParent为nil,则Application.MainForm隐式用作PopupParent。如果未分配Application.MainForm,则将Application.Handle用作PopupParent。 如果PopupMode属性设置为pmAuto,则Screen.ActiveForm用作PopupParent属性。