zoukankan      html  css  js  c++  java
  • Delphi XE2使用VCL Styles (皮肤/skin)

    在新版本中,你可以直接给你的程序换皮肤/skin(主题),Project-> Options -> Application -> Appearance,在这里选一个你想要的主题,



    当然,你可以在你的程序里自己设定,为了使用VCL Styles,你需要使用TStyleManager类,Themes单元,如下几步:
    注册Style
    从文件加载(注册)VCL style,需要使用TStyleManager类中的LoadFromFile函数,

    1. procedure RegisterStyleFromDisk(const StyleFileName: string);
    2. begin
    3.   try
    4.     if TStyleManager.IsValidStyle(StyleFileName) then
    5.     TStyleManager.LoadFromFile(StyleFileName);
    6.     //beware in this line you are only loading and registering a VCL Style and not setting as the   current style.
    7.   else
    8.     ShowMessage('the Style is not valid');
    9. end;


    然后使用LoadFromResource或TryLoadFromResource从源加载style

    1. procedure RegisterStyleFromResource(const StyleResource: string);
    2. begin
    3.   TStyleManager.LoadFromResource(HInstance, StyleResource);
    4.   //beware in this line you are only loading and registering a VCL Style and not setting as the current style.
    5. end;


    设置Style
    设置已经加载好的Style,需要使用SetStyle(或TrySetStyle) procedure.
    注意:SetStyle 有3个重载版本

    1. //class procedure SetStyle(const Name: string); overload;
    2.     TStyleManager.SetStyle('StyleName');
    1. //class procedure SetStyle(Style: TCustomStyleServices); overload;
    2.     TStyleManager.SetStyle(TStyleManager.Style['StyleName']);
    1. //class procedure SetStyle(Handle: TStyleServicesHandle); overload;
    2.     TStyleManager.SetStyle(TStyleManager.LoadFromFile(StyleFileName))


    使用上面代码写的Demo

  • 相关阅读:
    PHP计算近1年的所有月份
    mysql的索引和锁
    深度解析 https 协议
    linux 常用命令大全
    为什么Python3.6字典变得有序了?
    oddo
    RESTful接口开发规范
    python中的 __inti__ 和 __new__ 方法的区别
    十大经典算法 Python实现
    MongoDB journal 与 oplog,究竟谁先写入?--转载
  • 原文地址:https://www.cnblogs.com/drgraph/p/2338255.html
Copyright © 2011-2022 走看看