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

Cannot get the selected VCL theme styles

在 Delphi 10.1 Berlin VCL 应用程序中,在 Appearance 页面的项目选项中,我在默认 [=32] 中添加了两种样式=] 风格:

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;

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

那么如何在项目选项中选中所有样式?

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

要使 TStyleManager.StyleNames 真正起作用,Vcl.ThemesVcl.Styles 都必须包含在项目文件 (.DPR) 的 uses 子句中。 (我不确定文档中是否提到了这一点)。

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