码迷,mamicode.com
首页 > Windows程序 > 详细

转:看看 Delphi XE2 为 VCL 提供的 14 种样式

时间:2016-10-18 18:08:36      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

http://www.linuxso.com/linuxbiancheng/8889.html

其实只提供了 13 个 vsf 样式文件, 还有默认的 Windows 样式, 共 14 种.

在空白窗体上添加 ListBox1 等控件, 测试代码:

uses IOUtils, Vcl.Styles, vcl.Themes;

procedure TForm1.FormCreate(Sender: TObject);
var
  dir, fileName, styleName: string;
begin
  //VCL 的样式文件 *.vsf 在 X:\Program Files\Embarcadero\RAD Studio\9.0\Redist\styles\vcl\
  dir := GetEnvironmentVariable(Delphi) + \Redist\styles\vcl;

  {载入所有 *.vsf 文件}
  for fileName in TDirectory.GetFiles(dir, *.vsf) do
    TStyleManager.LoadFromFile(fileName);

  {将样式名称导入列表}  
  for styleName in TStyleManager.StyleNames do
    ListBox1.Items.Add(styleName);
end;

{修改样式}
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  TStyleManager.SetStyle(ListBox1.Items[ListBox1.ItemIndex]);
end;

技术分享

本人测试过程中发现问题:

1、至少要引用后两个 单元文件 uses IOUtils, Vcl.Styles, vcl.Themes;
否则如果只引用 vcl.Themes,编译可以通过,运行时异常“Unable to load style ***”。
2、并且公司控件:显示样式时,
TGQToolPanel更改不了样式,TGQToolButton显示不出来图片;
3、TfrmSystemSetting 设置窗体继承于TDrawForm时,使用样式后// unit uDrawForm;
无法关闭,无法拖动,只能用 Atl+F4解决关闭。

转:看看 Delphi XE2 为 VCL 提供的 14 种样式

标签:

原文地址:http://www.cnblogs.com/rogge7/p/5974154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!