Delphi VclSkin使用教程

來源:互聯網
上載者:User

標籤:

 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 = true4 編譯運行你的程式。  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 . 

Delphi VclSkin使用教程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.