Delphi VclSkin使用教程

1. TSkinData

TSkinData 主要用于美化你的程序, 只要把TSkinData控件放下去,它就能自动美化所有窗体。

属性

Active: 使用或取消对程序的美化。

DisableTag: 取消对某个特定的组件的美化; 把组件的Tag属性设为99就行了。 
(control.tag mod 100=disabletag)

SkinControls: 指定哪类组件能被美化.

SkinFile: skin(皮肤)文件的包含路径的文件名,在运行时加载。

SkinStore: 在设计模式时储备的skin文件.

SkinFormType: 能使用多种美化方式.

方法

LoadFromStream(Stream: TStream); 
LoadFromFile(value:string); 
LoadFromCollection(astore:TSkinStore;aindex:integer);

在运行时装载skin文件.

UpdateSkinControl(fParent:Tform); 
UpdateMenu(fParent:Tform);

在运行时组件创建时进行美化。

事件

OnFormSkin(Sender:TObject;aName:string;Var DoSkin:boolean);

OnFormSkin 事件的发生先于美化窗体, 如果 Doskin 为 true, Vclskin 就会美化这个窗体, 如果为false,Vclskin 就会跳过这个窗体. aName 是窗体的类名.

OnSkinChangned(Sender:TObject);

OnSkinChanged 发生在skin文件改变之后。

2. TSkinStore

TSkinStore 能让你在设计模式时储存多个skin文件。

TSkinData 能在运行时从 TSkinStore 装载skin文件:

TSkinData.LoadFromCollection(astore:TSkinStore;aindex:integer),

3. 怎么美化程序界面

你可以在几分钟内构建一个漂亮的程序.

1 把 TSkindata 控件放在主窗体上。

2 设置 Skindata.skinstore 属性 , 把skin文件储存在你的程序中。

3 设置 Skindata.active = true

4 编译运行你的程序。

4.  VCLSkin   FAQ

1 如果我的工程中有14个窗体,用不用每个窗体都放一个skin控件?

不用,你只需要放置一个Tskindata在你的主窗体,Vclskin就能自动美化每个窗体。

2 怎样美化一个内嵌的窗体 ?

Vclskin 不能自动美化内嵌窗体,你要手动控制它。压缩包中有一个"NestedForm"的例子,讲的是在运行状态美化内嵌窗体、框架的。

3 怎样美化动态控件 ?

你需要手动控制它。代码如下:

control:=Tmycontrol.create(form1);
skindata1.UpdateSkincontrol(form1); // add this line to skin dynamic control.

4 怎样美化依靠窗体 ?

Vclskin 支持停靠窗体. 例程代码如下:

procedure TDockableForm.FormShow(Sender: TObject);
begin

if MainForm.skindata1.active then MainForm.skindata1.skinform(handle);

end;

5 怎么美化动态的右键菜单 ?

例程代码如下:

popup:=Tpopupmenu.create(form1);
..... add menuite
skindata1.UpdateMenu(form1); //add this line
popup.popup(x,y);

6 怎样美化动态窗体 ?

Vclskin 可以美化动态窗体 , 但不能自动美化内嵌窗体. 点击这儿查看如何美化内嵌窗体.

7 找不到文件 ‘c:/program files/borland/delphi7/SM/winskindata.pas‘ 

Delphi7 试用版Delphi7正式版的Dcu文件格式是不一样的。

如果你使用的是正式版,你可以安装一个演示包。vclskin2.zip.
如果你使用的是试用版,你可以安装一个演示包。 D7trial.zip.

8 使用 FastReport 时,出现了“无效操作,控件没有父窗体的的错误提示 ?

设置 TSkindata.skincontrols.xcFastReport = true 就可以解决这个问题。

9 使用 ReportBuilder 出现了“无效操作,控件没有父窗体的错误提示?

你可以在 TSkindata.OnformSkin 事件中取消美化这个控件。 代码如下 :

procedure Tform1.SkinData1FormSkin(Sender: TObject;
aName: String; var DoSkin: Boolean);
begin

//‘TppPrintPreview‘ 就是要取消美化的窗体名称。 
if aName=‘TppPrintPreview‘ then doskin:=false;

end;

10 如何存取skin文件的颜色?

你可以借助 Tskindata.colors[] 属性来存取颜色。 
比如说 , 窗体的背景色是 : skindata.Colors[csButtonFace].


TShemeColor=(csText,csTitleTextActive,csTitleTextNoActive,
csButtonFace,csButtonText,
csButtonHilight,csButtonlight,csButtonShadow,csButtonDkshadow,
csSelectText,csSelectBg,csHilightText,csHilight,
csMenuBar,csMenuBarText,csMenuText,csMenubg,
csScrollbar,csTextDisable);

TShemeColors=array[csText..csTextDisable] of Tcolor;

Skindata.Colors: TShemeColors;

11 用户能自定义那些可视化控件的外观吗?

你可以使用 skin builder自定义细节.

12 怎样取消美化某个窗体或控件?

设置 form.tag=99 取消 美化这个窗体。

13 如何在美化一个工程的窗体标题栏和菜单的风格?

设置 TSkindata.skincontrols.xcMainmenu = false .

时间: 2024-08-25 22:11:30

Delphi VclSkin使用教程的相关文章

【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别

[<zw版·Halcon与delphi系列原创教程> zw_halcon人脸识别 经常有用户问,halcon人脸识别方面的问题. 可能是cv在人脸识别.车牌识别方面的投入太多了. 其实,人脸识别.车牌识别,只是图像处理,机器视觉一个很小的领域,对于halcon而言,非常简单. 人脸识别.车牌识别,ocr.汉字识别原理.算法都差不多,自己建库就可以了. halcon与cv不同,面对的是工业(超市)流水线,建库基本是全自动的,扫描一下,和二维码差不多,就自动生成了相关的模型库. 非常简单,halc

delphi 组件安装教程详解

学习安装组件的最好方法,就是自己编写一个组件并安装一遍,然后就真正明白其中的原理了. 本例,编写了两个BPL, dclSimpleEdit.bpl 与 SimpleLabel.bpl ,其中,dclSimpleEdit.bpl 依赖 SimpleLabel.bpl , 或者说 dclSimpleEdit.bpl 需要 SimpleLabel.bpl 才能运行.这也是多数组件安装问题之典型! 本例源码下载(delphi 7) 一.首先在delphi中打开 ComponentStudy 目录中的 C

delphi 安卓配置教程

本教程以 delphi 10.2.2.2004 为例,演示 delphi 安卓配置步骤 1.打开 Android Tools 2. 选择合适的版本.比如:我的小米4 LTE 是 andorid 6.0 ,我就选 android 6.0 (API23) 和 23.0.1 ,其它可以一律不选. 明白了吧,更多详细步骤,请自动搜索 android 工具配置方法. 3. 下载,点 install ,然后就是漫长的等待.有的教程会说改文件源什么的操作, 但今天 2018.4.30 不需要再改动,直接下载就

c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程

转载:http://www.cnblogs.com/zhangdongsheng/p/3411056.html 每次要远程调试的时候都要看半天的xe2英文帮助文档,今天正好有点时间,把它写下来. 一.概述: 首先说明一下,c++ builder 远程调试有两种方式的,一种是被称为是老式的调试方法,这种方法是在远程机器上安装Debugger 也就是其实也就是运行PAServer的rmtdebug163.exe来运行调试的,但是这种方法貌似只能以启动进程的方式调试程序,而不能附加已经存在的进程.而今

Delphi数据库编程教程(七)

[译者注]在本文中,作者提出了使用k-means算法来对图像进行色彩还原,介绍算法的步骤,同时应用在图像上,通过对比还原前后的图像,来证明k-means算法的有效性.以下为译文: k-means是机器学习中最著名.最广泛使用的算法之一.在这篇文章中,将使用k-means算法来减少图像上的颜色(但不减少像素),从而也减少了图像的大小.在这个领域不需要任何基础知识,因为可执行应用程序文件(大小为150MB,这是由于长时间的Spark依赖)已经提供了友好的用户界面.所以你可以很容易地用不同的图像来做实

4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程)

4张图看懂delphi 10生成ipa和在iPhone虚拟器上调试(教程) (2016-02-01 03:21:06) 转载▼ 标签: delphi ios delphi10 教程 编程 分类: 编程学习 参见: delphi XE4生成ipa并部署到越狱iPad视频教程 os x el capitan / Xcode_7.2 / delphi 10 切换不同版本的模拟器.png在虚拟器上调试的正确设置.png域名设置.png记得选择的平台要选虚拟器.png

visual_c++外挂教程(详细)

课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇内容:编写一个完整的,简单的外挂 C++的数据类型:Byte,Word,DWORD,int,float API函数的调mouse_event,GetWindowRect,SetCursorPos,FindWindow,SendMessage) CE5.4工具的使用方法 中级篇内容:调试工具的使用技巧,功能CALL的概念 调试工具OD1.1的使用技巧(如硬件断点,条件断点,内存断点. 常用汇编指令与对应高级语言的转换. 游戏功能CALL概念

ERPSYSTEM开发教程01 框架介绍

从今天开始我将给大家带来一套有关Delphi开发的教程 主要开发ERP软件 我个人觉得,ERP软件的开发,技术层面的不是最大问题, 而是对客户需求的认知程度以及如何管理复杂多样的需求. 因此一个开发框架显得非常重要! 这里我推荐一套来自网络的开源框架 Tangram Plugin Framework 框架特点 1.采用模块化插件开发,支持DLL和BPL两种模块方式 2.自动或手动动态加载模块 3.模块与模块或主程序之间均使用统一的接口方式进行访问 源代码下载地址  http://code.goo

将多个jpg文件以追加形式合并成一个文件_delphi教程 bmp 合并 http://www.west.cn/www/info/58058-1.htm

将多个jpg文件以追加形式合并成一个文件_delphi教程 作者:网友供稿 点击:0 西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!云服务器可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金! 文章页数:[1]    DFW里有朋友问: 有多个jpg文件,如:1.jpg2.jpg3.jpg......