如何获取vsf文件的样式名称(VCL样式文件)?

时间:2011-12-23 17:54:45

标签: delphi delphi-xe2 vcl-styles

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

enter image description here

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

1 个答案:

答案 0 :(得分: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.