How to skin a application
A. Skin file store in exe file.
1. Put TSkindata component on mainform
2. Set Skindata.skinstore property , store skin file in your application.
3. Set Skindata.active = true
4. compile your application and run
B. Skin file is in file folder.
1. Put TSkindata component on mainform
2. Set Skindata.skinfile property , skin file is in exe file folder.
3. Set Skindata.active = true
4. compile your application and run
C. Skin file is in TSkinStorefile, store multi skin files in EXE file.
TSkinStore is designed for multi skin files stored in EXE file.
1. Put TSkindata,TSkinstore on mainform, store skin files in TSkinstore.
2.Load skin file In Form.Oncreate event, example code as follow:
procedure TForm1.FormCreate(Sender: TObject);
begin
Skindata1.LoadFromCollection(skinstore1,0);
if not skindata1.active then skindata1.active:=true;
end;
Form caption and MainMenu
A. Form caption and Mainmenu are skin
Skindata.skincontrols.xcMainmenu=true
B. Caption does not skin, Menu is skin .
Skindata.skincontrols.xcMainmenu=false
Skindata.skincontrols.xcMenuitem=true
Skin 3rd controls
Vclskin support 3rd control easily, just add control class name in TSkinData.skin3rd property
TSkindata.skin3rd support controls include Edit, Checkbox, Radiobutton, Combobox, Panel, Radiogroup, Checkgroup, Buton, Bitbtn, Speedbutton, Tab, Progress, Trackbar, Scrollbar, Embedscrollbar.
Embedscrollbar is to skin control which scrollbar is TScrollbar embed in it. like TAdvMemo .
TSkindata.skin3rd example code
TDBCheckboxEh=Checkbox
TDBLookupCombobox=Combobox
TLMDCheckGroup=CheckGroup
TLMDRadioGroup=RadioGroup
TLMDRadiobutton=Radiobutton
TLMDGROUPBOX=Panel
TLMDEDIT=Edit
if there is 3rd checkbox that vclskin don't support , you just add one line in TSkindata.skin3rd
Class_name_checkbox=checkbox
嗯,这些都是从帮助上搞来的
懒省事了
不过,帮助真的很好
我总结几点
一、几个重要属性
Active
DisableTag
SkinFile
SkinStore
SkinFormType
SkinControls
Options
二、TSkinStore
TSkinStore can store multi-skinfiles in your application at designe time
Tskindata can load skin file from TSkinStore at rumtime:
TSkinData.LoadFromCollection(astore:TSkinStore;aindex:integer),
不错,可以在运行动态设置皮肤,其实通过改变TSkinData的SkinFile
或SkinStore属性也可以达到同样的效果