gpt4 book ai didi

delphi - 如何使我的表单始终位于主表单之上?

转载 作者:行者123 更新时间:2023-12-03 15:27:00 26 4
gpt4 key购买 nike

如何使我的非模态表单始终位于主表单之上?

我已经尝试过:

procedure TForm3.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := Application.MainForm.Handle;
end;

这似乎工作正常。这是正确的方法吗?

最佳答案

这是 window ownership 的 Win32 概念。拥有的窗口始终显示在其所有者的顶部。所有者是在对 CreateWindow 的调用中指定的,并且不能修改。

在 VCL 中,您可以通过在 CreateParams 中设置 WndParent 来指定所有者,然后框架将其传递给 CreateWindow。 VCL 会为您完成此操作,但在旧版本中,所有者处理有些不稳定。现代版本更好,并且允许通过 PopupMode 和 PopupParent 属性进行更多控制。

因此,您的代码将具有您想要的效果。

关于delphi - 如何使我的表单始终位于主表单之上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573762/

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