Delphi 7皮肤控件VCLSkin 5.60的使用

VCLSkin是一个能够用于创建Delphi/C++ Builder应用程序美化界面的皮肤组件。它允许允许软件开发人员不用修改程序代码便把软件界面变得非常漂亮。它的美化支持窗体和控件和菜单。VCLSkin同时也提供了大量高质量的skin(皮肤)让你应用于你的程序。

官方网站:http://www.link-rank.com /

 

CSDN下载地址:


 

其中一个皮肤的效果载图:

 

 

安装步骤:


 


1.从 下载VCLSkin,我这里下载到的是5.6 Full Source版本,解压到硬盘;


2.打开Delphi 7→菜单栏→Tools→Environment Options→Library→(第一个路径)Library path→点击右边的〖...〗,添加刚才解压的VCLSkin目录下package文件夹和source文件夹,如下图所示:


 

注意:选择第一个library path添加,选择其他的添加,运行会报找不到WinSkinStore.dcu


 


3.下面打开Delphi 7使用的VCLSkin版本,菜单栏→File→Open→.../VCLSKIN/package/WinSkinD7R.dpk ,弹出对话框提示找不到资源文件,如下:

Cannot find resourcefile: F:/***/VCLSKIN/package/WinSkinD7R.res.  Recreated.

点击OK,就会重建了。

然后,在Package对话框点击Options,在Description选项卡→Usage Options,选中Designtime and runtime ,再点击OK确定按钮,再点击Compile自动完成就可以了。


 

如下图所示:


 

保存文件,关闭文件。


4.跟上面步骤一样打开.../VCLSKIN/package/WinSkinD7D.dpk ,也一样弹出找不到资源文件,按OK重建。点击Compile,然后再点Install(上一步没有install安装按钮,为灰色的,这一次有此按钮),安装顺利的话就会弹出安装成功对话框,提示新组件 WinSkinData.TSkinData,WinSkinStore.TSkinStore注册完成,


 

如下图所示:
 
保存文件,关闭文件。在面板上多了VCLSkin面板,下面2个组件,分别为TSkinData 和TSkinStore ,TSkinData 主要用于美化你的程序, 只要把TSkinData控件放下去,它就能自动美化所有窗体;TSkinStore 能让你在设计模式时储存多个skin文件。


5.下面开始测试应用。新建一个应用程序,拖动SkinData控件到窗体上,设置其SkinStore 属性,这是可以把skin文件储存在应用程序当中,然后设置Active 属性为True,编译运行程序,


 

效果如下图所示:

 


 

 

 

CSDN下载地址:http://download.csdn.net/detail/wozengcong/5189629

 

 

 

------------------------------------------------------------------以下为转帖------------------------------------------------------------------

 

学习DELPHI时为了美化程序,

所以在网上找到了这个插件!

1. VCLSkin综述

 

VCLSkin是一个能让Delphi程序变得非常漂亮的控件包. 它允许允许软件开发人员不用修改程序代码便把软件界面变得非常漂亮。它的美化支持窗体和控件和菜单。VCLSkin同时也提供了大量高质量的skin(皮肤)让你应用于你的程序。

2. VCLSkin特点

 

VCLSkin是一个用于让用户的程序界面更加漂亮的扩展控件。它允许软件开发人员不用修改源代码就能让他们的程序界面更加漂亮。一个标准的程序界面能在窗体放入VCLSkin控件后变得非常漂亮,而这公公需要几分钟的时间。

VCLSkin 能做些什么 ? 
不像其它控件那样,你需要修改源代码才能构建一个漂亮的界面, VCLskin 能让Delphi的标准控件在一下子就变得非常漂亮,而这一切都不用修改源代码。

 

VCLSkin 支持以下的窗体:

·        Delphi Form

·        MDIform . (normal,Maximized, MInimized)

·        Common Windows dialogs(Open/Save,Font,Print,Color).

·        MsgBox.

·        Exception MsgBox.

VCLSkin 支持的标准控件: 

·        The title bar of TForm

·        The title bar buttons

·        The borders of Tform

·        Tbutton,TBitbtn.

·        Tradiobutton and Tcheckbox

·        Tmainmenu and Tpopupmenu

·        Toolbar buttons

·        TTabcontrol and TPageControl

·        T Progressbar

·        TStatusbar

·        TCustomCombox,Tcombobox, TDbCombobox

·        TPanel and TGroupbox

·        TMemo, TListBox,TListView,TTreeview

·        TRadioGroup , TDBRadioGroup.

·        TCustomGrid,TStringgrid,TDrawgrid,Tdbgrid.

·        Third party component, Enlib, AdvGrid ..

同时也支持大量的第三方控件。



 

 

3.安装

 

你可以像安装其它控件一样安装这夽控件,其实就这几步:

·        解压缩 Vclskin2.zip 到任意目录

·        在 Delphi IDE 环境中选择菜单 "File. Open...", 然后找到连接库vclskindX.dpk, 按着点击Compile按钮。

·        在 Environment 添加VCLSkin控件所在的路径。

DX - Delphi X, X- version CBX - CBuilder X, X - version

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;VarDoSkin: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 支持停靠窗体. 例程代码如下:

procedureTDockableForm.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:\programfiles\borland\delphi7\SM\winskindata.pas'
 

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

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

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

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

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

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

procedureTform1.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.

 

//==========

通用控件安装方法:
----------
基本安装
1、对于单个控件,Componet-->installcomponent..-->PAS或DCU文件-->install;
2、对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可;
3、对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可;
4、如果以上Install按钮为失效的话,试试Compile按钮;
5、是run time lib则在option下的packages下的runtimepackes加之。
   如果编译时提示文件找不到的话,一般是控件的安装目录不在Delphi的Lib目录中,有两种方法可以解决:
1、反安装的源文件拷入到Delphi的Lib目录下;
2、或者Tools-->Environment Options中把控件源代码路径加入到Delphi的Lib目录中即可。
注意:所安装的控件是否与你所用的Delphi版本相适应。
----------
控件删除
在Component/Install Packages中删除。
选Component/configure Palette…
有pages和components两个区域
双击components区域,选中要删除得控件,下面有得Delete按钮
但系统提供的控件只能Hide,不能delete。
打开控件所在的包文件(*.dpk),从中删除控件那个文件,再重新编译该包即可。
 

如果是整个控件包都要删除的话,project->Option->Packages,删掉那个packages,收工。

上一篇:Delphi 与 DirectX 之 DelphiX(86): TDIB.DrawOn();


下一篇:Delphi 与 DirectX 之 DelphiX(85): TDIB.DrawTo();