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