gpt4 book ai didi

delphi - 允许在顶部绘制主窗体的非模态子窗口 - Delphi

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

在 Delphi (2009 Pro) 中 - 我有一个可以创建非模式子窗口的主窗体。我希望任何具有焦点的窗体都可以在顶部绘制 - 即使它是具有焦点的主窗口。

最佳答案

在 Delphi 2007/2009 中,VCL 更改了其有关表单父级的行为。在 Delphi 1-2006 中,窗体的父级是隐藏的应用程序窗口 (Application.Handle)。在 Delphi 2007/2009 中,窗体的父窗体是主窗体,而主窗体的父窗体是桌面。

如果您想更改此设置,您可以将 *.dpr 行 Application.MainFormOnTaskbar 更改为 False,这样您就可以恢复旧的行为,但也使您的应用程序在 Vista 和 Windows 7 中看起来很奇怪。或者您可以在所有非模态子表单中重写虚拟 CreateParams 方法,并将 Params.WndParent 字段设置为桌面 (HWND_DESKTOP )或仍然存在的 Application.Handle

type
TMyChildForm = class(TForm)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;

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

关于delphi - 允许在顶部绘制主窗体的非模态子窗口 - Delphi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/947068/

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