Delphi VCLSkin2.30

LinkRank software ,June 2, 2003


 

 

 

 

 

 

 

 

 

D5 D6 D7

VCLSkin is an VCL library that extend Delphi application with skinnable user interface . It allows software developers to make their applications skinnable without modifing source code . Skins support for forms, menus and controls. VCLSkin provides you with plenty of high quality skins for your application .


Installation

  • Unzip the files : vclskind5.zip or vckskind6.zip.
  • From Delphi menu, Select File| Open project: reg/winskind6.dpk.
  • Select 'Project-> Build' menu to compile.
  • Press Install.
  • The component is now installed in a new 'VCLSkin' page.
  • Add path in delphi library path.

If you have a previous version installed:

  • Replace the old files (*.dcu) with the new one, open the package and recompile.
  • If you encounter any problems remove all the compiled units .dcu, .bpl, .dcp (try to locate them also in 'C:\Program Files\Borland\DelphiX\Projects\Bpl' and 'C:\Program Files\Borland\DelphiX\lib'), then install pre-compiled units again.

Upgrade from Vclskin1.2:

  • Buckup your application.
  • TSkinform was deleted from Vclskin2.0, you should delete Tskinform components from your application, then rebuild project.

TSkinData

property

Active: enable / disable skin at runtime.

DisableTag: To prevent Twinskinform from skining a certain control; set the control's Tag property value to 99
(control.tag mod 100=disabletag) SkinFile: This string value is skin file with path.

SkinControls: Specifies which control types be automaticaly skined .

SkinFile: Load skin file at runtime.

SkinStore: Store skin file in application.

SkinFormType: support multi-skin in application.

Method

  • LoadFromStream(Stream: TStream);
  • LoadFromFile(value:string);
  • LoadFromCollection(astore:TSkinStore;aindex:integer);
  • AddNestForm(fParent,fNested:Tform);
  • UpdateSkinControl(fParent:Tform);
  • UpdateMenu(fParent:Tform);

Event

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

OnFormSkin happen before form skin, if Doskin is true, Vclskin will skin this form, if false, Vclskin will skip this form. aName is classname of the form.

  • OnSkinChangned(Sender:TObject);

OnSkinChanged happen after skin file have changed.

 

TSkinStore

TSkinStore can store multi-skinfiles in your application. Tskindata can load skin file from TSkinStore: TSkinData.LoadFromCollection(astore:TSkinStore;aindex:integer),


Known issues

When user Drag Scrollbar thumb, scroolbar are shown as a normal.

When user Drag scrollbar thumb, Windows paint srollbar itself, not delphi, we must Hook Windows API to avoid this, it isn't easy work. We plan to fix it in the feature.


How to get skin color?

It is easy to get skin Window Tcolor : skindata.Colors[csButtonFace].

Skindata.Colors: TShemeColors;

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;

Let VclSkin support your component

website : http://www.link-rank.com

email : info@link-rank.com