2012-10-15 69 views
4

我們有一個可以並排使用的主表單和第二個非模態形式的應用程序。我們的主窗體顯示了配置列表,而第二個非模態窗體更詳細地顯示了配置。德爾福:來自非模態輔助形式的'ShowModal'

當我們顯示一個模態窗體(從第二個非模態窗體請求)時,主窗體會彈出到第二個窗體的前面,直到我們關閉該模態窗體。

我怎樣才能避免這種情況?我已經嘗試以不同的方式創建最後的模態窗體('Applicaton.CreateForm','TForm.Create',設置父窗體),但仍然彈出主窗體。

任何想法?

在此先感謝!

+0

你通常*創建你的模態窗體(不使用'Applicaton.CreateForm')?你是否嘗試過類似於'ModalForm:= TModalForm.Create(nil); ModalForm.ShowModal;'? – TLama

+0

爲模態窗體設置父窗體會冒着凍結您的應用程序的風險 –

+0

您是否嘗試將formform設置爲form2nd.parent? –

回答

5

設置Application.ModalPopupModepmAuto

這是文檔是這麼說:

TForm.PopupParent 

設置使用戶不能更改堆疊形式的訂單。 如果PopupMode屬性設置爲pmExplicit,並且PopupParent爲零,則隱式使用Application.MainForm作爲PopupParent。如果沒有分配Application.MainForm,則使用Application.Handle作爲PopupParent。 如果PopupMode屬性設置爲pmAuto,則將使用Screen.ActiveForm作爲PopupParent屬性。