skin delphi7教材

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

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/weide001/archive/2009/04/22/4100975.aspx

發佈了286 篇原創文章 · 獲贊 16 · 訪問量 88萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章