Как я могу получить имя стиля файла vsf (файл стиля VCL)? - PullRequest
5 голосов
/ 23 декабря 2011

У меня есть приложение, написанное на delphi-xe2, теперь я добавляю поддержку стилей VCL, поэтому я хочу создать меню для выбора файла стиля vcl для загрузки и применения, эта часть работает нормально, меню построеново время выполнения на основе содержимого папки, в которой есть файлы стилей.Но теперь я хочу отобразить имя стиля vcl вместо имени файла, как это изображение

enter image description here

Как я могу получить имя стиля файла стиля vcl?

1 Ответ

11 голосов
/ 23 декабря 2011

Вы можете использовать функцию 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.
...