gpt4 book ai didi

forms - 如何在 Delphi 7 中使多个表单位于主表单之上,但不位于其他应用程序之上

转载 作者:行者123 更新时间:2023-12-03 18:18:02 28 4
gpt4 key购买 nike

这是我在主窗体中使用的代码:

if not Assigned(FPerHist) then
begin
Application.CreateForm(TFPerHist,FPerHist);
end;
FPerHist.Show;

我将 FPerHist 的 FormStyle 设置为 StayOnTop。

这适用于允许打开多个表单,同时将所有子表单保持在主表单之上。但是,当表单正在加载某些内容或在调试时到达检查点时,表单会停留在其他应用程序之上。

用户觉得这很烦人,因为在加载此表单时他们无法处理其他事情,并且在调试时我无法切换到 Delphi 7 窗口,直到我将此应用程序移动到另一个桌面(我使用的是 Windows 10) .

还有其他方法可以让它在 Delphi 7 上工作吗?

最佳答案

在后来的 Delphi 版本中,通过引入 TForm.PopupParent 属性解决了这个问题。您只需删除 fsStayOnTop 样式,并将 MainForm 设置为辅助窗体的 PopupParent

但是,PopupParent 在 Delphi 7 中不存在,因此您必须手动模拟它,通过重写辅助表单的虚拟 CreateParams() 方法来分配MainForm.Handle 作为 TCreateParams.WndParent

关于forms - 如何在 Delphi 7 中使多个表单位于主表单之上,但不位于其他应用程序之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45726442/

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