Delphi界面控件 VCLSkin 使用


安裝* 最好安裝前把文件放到Lib文件夾下: 1.把下載的文件解壓后放到Delphi目錄的Lib文件夾下 2.啟動Delphi>Open找到剛才放的*.dpk和*.pas選中 3.點Install,Compile,Delphi最右邊會出現個VCL Skin頁,里面會有SkinData和SkinStore

 
 
 

最簡單的實現如下: 1 新建工程,在 Form1上放置Skindata 控件。 2 設置 Skindataskinstore 屬性 ,找到隨VCLSkin文件一起下載的*.skn皮膚文件。 3 設置 Skindataactive true 4 編譯運行你的程序。

這是最簡單的實現,當然也可以添加SkinStore來做更多的選擇,可以由用戶自己選擇皮膚文件, VCLSkin26自帶的Demo/Demos下有例程截圖如下 (高級應用就不說了,需要的朋友可以Google或者看Demo)

 
***************************************************************************************** 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.安裝 你可以像安裝其它控件一樣安裝這夽控件,其實就這幾步:
   1. 解壓縮 Vclskin2.zip 到任意目錄    2. 在 Delphi IDE 環境中選擇菜單 "File. Open...", 然后找到連接庫 vclskindX.dpk, 按着點擊Compile按鈕。    3. 在 Environment 添加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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM