日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
      軟件
      軟件
      文章
      搜索

      首頁編程開發(fā)其它知識 → VCLSkin組件使用、Delphi界面美化圖文教程

      VCLSkin組件使用、Delphi界面美化圖文教程

      前往專題相關軟件相關文章發(fā)表評論 來源:西西整理時間:2012/3/30 11:23:53字體大。A-A+

      作者:佚名點擊:401次評論:1次標簽: Delphi

      Borland Delphi8.0光盤版
      • 類型:編程工具大。83.1M語言:中文 評分:4.0
      • 標簽:
      立即下載

      VCLSkin是個方便而且功能強大的界面加強型組件包。只要在程序的任何一個窗體里加入SkinData組件,設置好相關屬性,則所有這個程序里出現的窗體(包括對話框)都具有設置好的界面風格。SkinStore組件又可以把一些皮膚文件預先存在里面,供SkinData隨時調用,表現出程序的多種風格。下面簡單地介紹它的用法。

      1. VCLSkin綜述
      VCLSkin 是一個能讓Delphi程序變得非常漂亮的控件包. 它允許允許軟件開發(fā)人員不用修改程序代碼便把軟件界面變得非常漂亮。它的美化支持窗體和控件和菜單。VCLSkin同時也提供了大量高質量的skin(皮膚)讓你應用于你的程序。
      2. VCLSkin特點
      VCLSkin 是一個用于讓用戶的程序界面更加漂亮的擴展控件。 它允許軟件開發(fā)人員不用修改源代碼就能讓他們的程序界面更加漂亮。一個標準的程序界面能在窗體放入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 環(huán)境中選擇菜單 "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);
      在運行時組件創(chuàng)建時進行美化。
      事件
      OnFormSkin(Sender:TObject;aName:string;Var DoSkin:boolean);
      OnFormSkin 事件的發(fā)生先于美化窗體, 如果 Doskin 為 true, Vclskin 就會美化這個窗體, 如果為false,Vclskin 就會跳過這個窗體. aName 是窗體的類名.
      OnSkinChangned(Sender:TObject);
      OnSkinChanged 發(fā)生在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"的例子,講的是在運行狀態(tài)美化內嵌窗體、框架的。
      3 怎樣美化動態(tài)控件 ?
      你需要手動控制它。代碼如下:
      control:=Tmycontrol.create(form1);
      skindata1.UpdateSkincontrol(form1); // add this line to skin dynamic control.
      4 怎樣美化依靠窗體 ?
      Vclskin 支持?看绑w. 例程代碼如下:
      procedure TDockableForm.FormShow(Sender: TObject);
      begin

      if MainForm.skindata1.active then MainForm.skindata1.skinform(handle);

      end;

      5 怎么美化動態(tài)的右鍵菜單 ?

      例程代碼如下:
      popup:=Tpopupmenu.create(form1);
      ..... add menuite
      skindata1.UpdateMenu(form1); //add this line
      popup.popup(x,y);

      6 怎樣美化動態(tài)窗體 ?
      Vclskin 可以美化動態(tài)窗體 , 但不能自動美化內嵌窗體. 點擊這兒查看如何美化內嵌窗體.

      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自定義細節(jié).

      12 怎樣取消美化某個窗體或控件?
      設置 form.tag=99 取消 美化這個窗體。

      13 如何在美化一個工程的窗體標題欄和菜單的風格?
      設置 TSkindata.skincontrols.xcMainmenu = false

      先建立一個新工程,加入一些常見的組件。運行結果的界面如圖9.18所示。

      然后加入一個SkinData控件,把Active屬性設為True。再單擊SkinStore屬性的帶省略號的按鈕,選擇VCLSkin自帶的一個皮膚文件macos.skn。然后,編譯,運行,結果如圖9.19所示。

      圖9.18 原始程序 圖9.19 加入VCLSkin組件后的效果

      此處將程序界面從原來古板的樣貌變成Mac Os風格沒有用一行代碼,只設了SkinData的屬性。下面我們結合SkinStore組件講講程序中“換膚”的做法。

      在窗體上加入一個SkinStore組件,在Object Inspector中單擊Store后面的帶省略號的按鈕,出現如圖9.20所示的窗體。

      單擊圖標,新生成一個SkinStore,可以像上面設置SkinData的SkinStore那樣設置好它的屬性。創(chuàng)建多個SkinStore,存入多個皮膚。然后在窗體的按鈕上加入如下代碼(代碼的作用是當程序運行中按下Button1時,SkinData1會從SkinStore1中讀取第1個皮膚,并顯示出來):

      procedure TForm1.Button1Click(Sender: TObject);

      begin

      SkinData1.LoadFromCollection(SkinStore1,1);

      end;

      類似地,加入以下代碼:

      procedure TForm1.Button3Click(Sender: TObject);

      begin

      SkinData1.LoadFromCollection(SkinStore1,2);

      end;

      procedure TForm1.SpeedButton3Click(Sender: TObject);

      begin

      SkinData1.LoadFromCollection(SkinStore1,3);

      end;

      “換膚”功能完成了。在程序中按下那幾個按鈕,程序界面的風格就會相應改變。圖9.21示出了兩個例子。

      圖9.21 VCLSkin的另兩種皮膚效果

      VCLSkin的功能遠不止如此,我們挑幾個說一下:

      · DataSkin有個DisableTag屬性。默認值是99。如果窗體上哪個組件的Tag值是99的話,DataSkin不會對這個組件起作用。

      · 支持MDI窗體。

      · 支持通用Windows對話框(打開,保存文件等)。

      · SkinControls屬性可以設置對哪類控件起作用。

      · 在一個程序中不同窗體可以有不同皮膚風格。

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(1)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數: 0/500 (您的評論需要經過審核才能顯示)