gpt4 book ai didi

delphi - 无法获取选定的VCL主题样式

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

在 Delphi 10.1 Berlin VCL 应用程序中,在外观页面上的项目选项中,我向默认的Windows样式添加了两种样式:

enter image description here

FormShow 事件处理程序中,我有以下代码:

procedure TForm1.FormShow(Sender: TObject);
var
s: string;
begin
// Show all available in application styles:
ComboBox1.Items.BeginUpdate;
try
ComboBox1.Items.Clear;
for s in TStyleManager.StyleNames do
ComboBox1.Items.Add(s);
ComboBox1.Sorted := True;
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf(TStyleManager.ActiveStyle.Name);
finally
ComboBox1.Items.EndUpdate;
end;
end;

但不幸的是,在运行时,组合框仅包含一个项:默认的Windows样式:

enter image description here

那么如何才能在项目选项中检查所有样式呢?

最佳答案

同时TStyleManagerVcl.Themes中的一个类(包含在单元的 uses 子句中)并且问题中的代码示例不会产生任何编译器错误, TStyleManager.StyleNames没有给出正确的结果:它不会返回在“项目选项”对话框中激活的附加 VCL 样式。

制作 TStyleManager.StyleNames实际上都有效Vcl.ThemesVcl.Styles必须包含在 uses 中项目文件 (.DPR) 的子句。 (我不确定文档中是否提到了这一点)。

我的测试已经证实了这一点。感谢@Uwe Raabe 的建议!

关于delphi - 无法获取选定的VCL主题样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062639/

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