5

我有一个用 delphi-xe2 编写的应用程序,现在我正在添加 VCL 样式支持,所以我想构建一个菜单来选择要加载和应用的 vcl 样式文件,这部分工作正常,菜单是基于运行时构建的在具有样式文件的文件夹的内容中。但现在我想显示 vcl 样式的名称而不是文件名,就像这张图片一样

在此处输入图像描述

如何获取 vcl 样式文件的样式名称?

4

1 回答 1

11

您可以使用该TStyleManager.IsValidStyle函数,传递一条TStyleInfo返回此信息的记录以及与 vcl 样式相关的另一个信息。

检查此示例应用程序

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  Vcl.Styles,
  Vcl.Themes;

var
 Style : TStyleInfo;
begin
  try
    if TStyleManager.IsValidStyle('C:\Users\Public\Documents\RAD Studio\9.0\Styles\RubyGraphite.vsf', Style) then
    begin
       Writeln(Format('Name           %s',[Style.Name]));
       Writeln(Format('Author         %s',[Style.Author]));
       Writeln(Format('Author EMail   %s',[Style.AuthorEMail]));
       Writeln(Format('Author URL     %s',[Style.AuthorURL]));
       Writeln(Format('Version        %s',[Style.Version]));
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  readln;
end.
于 2011-12-23T18:02:23.977 回答