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;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 filesorlanddelphi7SMwinskindata.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-->install component..-->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,不克不及。
打开控件地点的包文件(*.dpk),从中删除控件那个文件,再从头编译该包即可。
若是是全部控件包都要删除的话,project->Option->Packages,删掉那个packages