gpt4 book ai didi

delphi - 如何在显示之前定位表单?

转载 作者:行者123 更新时间:2023-12-03 15:08:01 25 4
gpt4 key购买 nike

我们的应用程序曾经使用一个通用的基本表单,所有表单都应该继承该表单。我想摆脱它的原因有很多,从需要监管每个人都使用它到与 Delphi 的 VFI 实现相关的一些烦恼。事实证明,它提供的大部分功能都可以通过其他更可靠的方式来完成。

我不太确定的是,自动将所有表单放置在调用者的中心。因此,如果我从主窗体打开对话框 A,它应该放置在主窗体的中心。如果我然后从对话框 A 打开对话框 B,它应该放置在对话框 A 的中心,依此类推。

我们过去常常通过将基本表单的 Position 属性设置为 poOwnerFormCenter 来处理这一切,效果很好。但我该如何在应用程序范围内执行此操作?

我想过使用 Screen.OnActiveFormChange,但我认为每次表单接收焦点时都会发生这种情况。我还考虑过使用 Application.OnModalBegin 但似乎没有明显的方法可以在调用它时找到表单。

有人试过这个吗?

最佳答案

嗯,显然提供表单继承是为了准确解决您要解决的问题。任何解决方案都可能最终以某种方式模仿表单继承。

您能否做一些简单的事情,例如在代码中全局搜索“= class(TForm)”,并将 TForm 类替换为您现有的基本表单或仅包含您需要的功能的新的简化基本表单类?

如果失败,您可以尝试修改原始 TForm 类本身以获得您想要的定位行为。显然,修改提供的类有点危险。

关于delphi - 如何在显示之前定位表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1667228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com