gpt4 book ai didi

delphi - FireMonkey:如何在所有表单运行时更改 styleBook 的样式?

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

我有 2 个加载了自定义样式的样书,并希望它们一次应用于所有表单(在 Windows 上测试,Tokyo 10.2.3)。

procedure TForm6.Button1Click(Sender: TObject);
begin
StyleBook := StyleBook2;
end;

procedure TForm6.Button2Click(Sender: TObject);
begin
StyleBook := StyleBook1;
end;

如果我设置 UseStyleManager=true,此代码将不起作用。如果 UseStyleManager=false,它可以工作,但仅适用于 1 种形式。

最佳答案

您可以使用 Application.Components[] 访问每个表单并设置其 StyleBook 属性。为两个样式书保留 UseStyleManager = False

添加到主窗体:

type
TForm14 = class(TForm)
...
private
procedure ChangeApplicationStyle(sb: TStyleBook);

并实现:

procedure TForm14.ChangeApplicationStyle(sb: TStyleBook);
var
i: integer;
begin
for i := 0 to Application.ComponentCount - 1 do
if Application.Components[i] is TForm then
TForm(Application.Components[i]).StyleBook := sb;
end;

终于要改了,例如:

procedure TForm14.Button1Click(Sender: TObject);
begin
ChangeApplicationStyle(StyleBook1);
end;

procedure TForm14.Button2Click(Sender: TObject);
begin
ChangeApplicationStyle(StyleBook2);
end;

关于delphi - FireMonkey:如何在所有表单运行时更改 styleBook 的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53366693/

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