Как я могу получить имя стиля файла vsf (файл стиля VCL)?

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

введите здесь описание изображения

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


person Salvador    schedule 23.12.2011    source источник


Ответы (1)


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