如何确保对话框始终位于主窗口的前面

Rol*_*son 3 delphi dialog nonblocking delphi-2007

我还没有找到最佳解决方案.我有一个非模态对话框,可以通过应用程序中的热键在无限制实例中打开.甚至对话框本身也可以打开一个新实例.我希望这些对话框始终位于主应用程序窗口的前面.我尝试过几件事.

  • 将FormStyle设置为fsStayOntop.这有效但有一个优点,即对话框将位于所有窗口的前面,甚至是其他应用程序.我只希望它在我的主窗口前面.
  • 将PopupMode设置为pmAuto.这也适用于一个对话框打开另一个对话框的情况.如果第一个对话框关闭,则会自动关闭第二个对话框.这是不可接受的.
  • 使用表单的默认属性.单击主窗口后,打开的对话框就在主窗口后面.

任何其他建议:-)

Ser*_*yuz 7

来自TCustomForm.PopupParent属性 ;

如果PopupMode属性设置为pmExplicit且PopupParent为nil,则Application.MainForm隐式用作PopupParent

.