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

标签 delphi dialog delphi-2007 nonblocking

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

  • 将 FormStyle 设置为 fsStayOntop。这种方法可行,但优点是该对话框将位于所有窗口甚至其他应用程序的前面。我只希望它位于我的主窗口前面。
  • 将 PopupMode 设置为 pmAuto。除了一个对话框打开另一个对话框的情况之外,这也适用。如果第一个对话框关闭,那么它会自动关闭第二个对话框。这是 Not Acceptable 。
  • 使用表单的默认属性。单击主窗口后,打开的对话框就会位于主窗口后面。

任何其他建议:-)

最佳答案

来自TCustomForm.PopupParent Property ;

If the PopupMode property is set to pmExplicit and PopupParent is nil, then the Application.MainForm is implicitly used as the PopupParent

.

关于delphi - 如何确保对话框始终位于主窗口的前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3549119/

相关文章:

delphi - 如何删除加速器热键 '&'字符?

delphi - XE6 IDE 中缺少 TBindScope

multithreading - 替换为Thread.Suspend-恢复而不影响性能

android - 为什么AChartEngine饼图在对话框中不显示?

c++ - MFC 应用程序终止时运行自定义代码 : d'tor or WM_CLOSE?

delphi - 如何修复损坏的项目?

Delphi 甲骨文 Blob

c++ - Delphi COM 将 ByteArray 作为 OleVariant 传递

javascript - 无法处理请求,因为模态对话框或警报处于事件状态

delphi - 有没有办法在 Delphi 中实例化所需数量的对象而不进行迭代?