做皮肤其实是项浩大的工程,从美工设计、到贴图、到程序设计,都非常的麻烦,如果不是一个非常成熟的产品且有很大的用户群体,并且公司具有相当实力,一般都不会去自己做皮肤,毕竟涉及的东西太多,一旦出现问题,那将对软件本身带来无法预计的后果。
比较出名的有AlphaControls、BusinessSkinForm、DynamicSkinForm、VCLSkin和AppFace 五大项

使用便利性 稳定性  内存泄漏测试 贴图效果测试 使用效率 皮肤界面
AlphaControls 便利 一般 有泄漏 很好 精致
BusinessSkinForm 便利 无泄漏 一般 一般
DynamicSkinForm 便利 无泄漏 一般 一般
VCLSkin 便利 一般 有泄漏 一般 一般 一般
AppFace 便利 无泄漏 一般 一般

最后我选了比较精致的AlphaControls,进行测试:

下面是它的下载地址:

慧都控件网有下载!!!

 接下来贴代码进行测试,来看各个皮肤的效果:
unit SkinChange;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, sSkinManager, Vcl.StdCtrls, sButton,
  Vcl.ExtCtrls, sSkinProvider,sConst, sDefaults, Vcl.Menus;

type
  TForm2 = class(TForm)
    sSkinManager1: TsSkinManager;
    Button1: TButton;
    GroupBox1: TGroupBox;
    Button2: TButton;
    Timer1: TTimer;
    sSkinProvider1: TsSkinProvider;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
  end;

var
  Form2: TForm2;
  List:TStringList;
  i:integer=0;
implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
    if i>0 then
    begin
        i:=i-1;
        sSkinManager1.SkinName := List[i];
    end;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
    if i<List.Count then

begin

i:=i+1;
        sSkinManager1.SkinName := List[i];

end;

end;

procedure TForm2.FormCreate(Sender: TObject);
begin
    List := TStringList.Create;
    sSkinManager1.GetSkinNames(List);
end;
end.

delphi XE5皮肤的使用的更多相关文章

  1. Delphi XE5 支持的Android 版本

    Delphi XE5 已经支持Android应用开发.  那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...

  2. DELPHI XE5 与SQLITE

    最近一次使用DELPHI做项目是使用DELPHI2009,为了访问本地数据库方便,使用ACCESS数据库,不需要安装驱动,(WINDOWS自带),但是ACCESS数据库的性能确实很糟糕,通过ADO连接 ...

  3. Delphi xe5 手机开发经验(新手级别)

    Delphi xe5 手机开发经验(新手级别) http://diybbs.zol.com.cn/1/34037_699.html http://www.delphitop.com/html/jiqi ...

  4. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  5. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  6. DELPHI XE5开发WEB服务器及安卓手机客户端

    Xe5开发web服务端和手机客户端 ------------------------------------- Delphi xe5作为最新开发利器,就类似如当年的DELPHI,功能强大,快发速度快, ...

  7. Delphi XE5 如何与其他版本共存

    如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简单修改两行就行啦. 找到Delphi XE5的安装根目录C:\Program F ...

  8. Delphi XE5 与其他版本共存

    来源于http://www.board4allcz.eu 作者是gateway 如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简 ...

  9. Delphi XE5教程12:注释和编译器指示字

    内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误!也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者可 ...

随机推荐

  1. linux Makefile obj-m obj-y

    目标定义是Kbuild Makefile的主要部分,也是核心部分.主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作. 最简单的Kbuild makefile 只包含一行: 例子: ...

  2. Javascript--装饰器模式和观察者模式

    装饰器模式 (function(){//装饰一棵树,装饰器模式通过对对象的属性进行改变来装饰对象.需要一个设置属性的方法 var tree={}; tree.decorate=function(){ ...

  3. NET Core1.0之CentOS平台开发控制台程序DEMO

    微软发布NET Core1.0正式版本,并支持了red hat linux平台,所以在CentOS平台,通过编辑器玩下控制器程序. 一.安装.NET Core SDK 先下载SDK并放在指定目录. s ...

  4. iPhone手机安全指南

    摘要:iPhone手机安全指南 - 1.iPhone解锁使用指纹:2.启用“查找我的iPhone”功能:3.Apple ID启用两步验证:4.修改SIM卡PIN码.5.iPhone被盗或丢失后,登录i ...

  5. Linux课程实践三:简单程序破解

    一.基本知识 1. 常用指令机器码 不同版本对应机器码不同,这里以我做实验的kali(Intel 80386)为例. 指令 作用 机器码 nop 无作用(no operation) 90 call 调 ...

  6. Java 对文件的读取操作

    package pack; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...

  7. Win32 OpenGL标准例子

    在VS2008的MSDN中有一个标准的OpenGL例子,记录如下: /* * Example of a Win32 OpenGL program. * The OpenGL code is the s ...

  8. mongodb sharding 简单部署记录

    创建目录 mkdir {mongos,config,shard1,shard2} mkdir -p mongos/{data,log} mkdir -p config/{data,log} mkdir ...

  9. C++STL学习笔记_(1)vector知识

    #include<iostream> using namespace std; #include "vector" //数组元素的 添加和删除 void main31( ...

  10. Pow 算法

    #include <iostream> using namespace std; template<class T, class Int> T Pow(T x, Int n) ...