1. 程式人生 > >Delphi 面板控制元件AlphaControls的使用

Delphi 面板控制元件AlphaControls的使用

        AlphaControls是一個標準的獨創的面板控制元件集合,它具有很多新的屬性可以新增到普通的控制元件中以增強程式介面效果,同時還能夠新增一些行為到普通的控制元件中,並且使用了一些新技術。AlphaControls是一個易於使用和強大的工具,用於開發具有獨創的面板和無面板的業務/媒體應用程式。

網上有註冊版和原始碼版,在這裡我使用7.51 FS進行學習使用。
1.安裝前需先解除安裝以前的版本,移除IDE裡的AlphaControls控制元件包,然後到bpl資料夾和dcp資料夾,刪除所有(acnt*.*)檔案,如圖1所示:

2.解壓壓縮包到資料夾,把這個資料夾加到"Library Path";
3.執行Delphi 2010,開啟"acnt2010_R.dpk",編譯此執行期庫,再開啟"acnt2010.dpk",安裝;
4.安裝完畢後,就可以在元件面板上看到AlphaControls元件了,如下圖所示:


下面進行測試AlphaControls使用:

1.新建一個應用程式窗體,在窗體上放置一個 TsSkinManager
2.設定TsSkinManager其" SkinDirectory"屬性為面板Skins資料夾路徑;
3.然後再選定其" SkinName"屬性所要設定的面板名稱,比如" UnderWater",如下圖所示:

4.設定其" Active"屬性為True,編譯執行如下圖所示:

5.也可以通過設定" InternalSkins"屬性,把面板檔案編譯到應用程式裡面,記住" SkinName"屬性還要選擇" UnderWater (內建面板)"。
6.另一個重要的控制元件是 TsSkinProvider
,放置一個到窗體上,它們的一些程式碼設定如下:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  uses sConst, sDefaults; 
 
procedure
 TForm1.FormCreate(Sender: TObject); 
begin 
  with sknmngr1 do              //TsSkinManager 
  begin 
    with AnimEffects do 
    begin 
      //-------------------窗體移動時透明度-------------------- 
      BlendOnMoving.Active := False; 
      BlendOnMoving.BlendValue := 170
      BlendOnMoving.Time := 1000
      //-------------------按鈕效果-------------------- 
      Buttons.Events := [beMouseEnter, beMouseLeave, beMouseDown, beMouseUp]
      //-------------------對話方塊隱藏時效果-------------------- 
      DialogHide.Active := True; 
      DialogHide.Mode := atAero; 
      DialogHide.Time := 0
      //-------------------對話方塊顯示時效果-------------------- 
      DialogShow.Active := True; 
      DialogShow.Mode := atFading; 
      DialogShow.Time := 0
      //-------------------窗體隱藏時效果-------------------- 
      FormHide.Active := True; 
      FormHide.Mode := atAero; 
      FormHide.Time := 0
      //-------------------窗體顯示時效果-------------------- 
      FormShow.Active := True; 
      FormShow.Mode := atFading; 
      FormShow.Time := 0
      //-------------------最小化時效果-------------------- 
      Minimizing.Active := True; 
      Minimizing.Time := 200
      //-------------------頁切換時效果-------------------- 
      PageChange.Active := True; 
      PageChange.Time := 200
      //-------------------面板切換時效果-------------------- 
      SkinChanging.Active := True; 
      SkinChanging.Mode := atFading; 
      SkinChanging.Time := 100
    end
    Effects.AllowGlowing := True;//允許按鈕和邊框圖示有特殊發光效果,如Win7的標題按鈕發光 
    ExtendedBorders := True;     //基於分層技術的窗體陰影 
    HueOffset := 0;              //允許改變當前面板的調色盤 
    IsDefault := True;           //定義為當前管理器作為預設的應用程式管理器 
    with MenuSupport do 
    begin 
      ExtraLineFont.Name := '宋體'
      ExtraLineWidth := 32;      //附加行寬度 
      IcoLineSkin := 'ICOLINE';  //圖示行風格 
      UseExtraLine := False;     //是否使用附加行, 
    end
    Saturation := 0;             //改變當前面板的飽和度 
    SkinnedPopups := True;       //彈出選單是否應用面板 
    SkinningRules := [srStdForms, srStdDialogs, srThirdParty]//換膚規則 
    //-------------------讓第三方控制元件也換膚,在屬性器裡設定比較好------------------- 
    ThirdLists[ord(tpEdit)].Add('TEdit'); 
    ThirdLists[ord(tpCheckBox)].Add('TCheckBox'); 
  end
  with sknprvdr1 do                    //TsSkinProvider 
  begin 
    AddedTitle.ShowMainCaption := True;//是否顯示窗體標題 
    AddedTitle.Text := '附加的文字';   //允許定義一個額外的文字將在窗體的標題後顯示 
    AllowBlendOnMoving := True;        //是否允許窗體移動時透明度 
    AllowExtBorders := True;           //是否允許窗體陰影 
    CaptionAlignment := taLeftJustify; //標題文字對齊方向 
    DrawNonClientArea := True;         //是否要繪製非客戶區 
    GripMode := gmNone;                //當值是gmRightBottom時,窗體右下角有個三角形 
    MakeSkinMenu := False;             //是否在窗體的系統選單新增“面板”選單項 
    MenuLineSkin := '';                //選單顯示面板樣式 
    ResizeMode := rmStandard;          //指定調整大小模式的形式,為rmBorder,則改變時只出現邊框 
    ScreenSnap := False;               //指定是否窗體捕捉到螢幕邊緣,主動粘邊 
    ShowAppIcon := True;               //指定是否應用程式圖示將顯示在窗體的標題 
    SnapBuffer := 10;                  //當ScreenSnap為True,指定窗體邊緣和螢幕邊緣之間最大畫素 
    //TitleButtons                     //新增標題按鈕 
    //TitleIcon                        //新增標題圖示 
    TitleSkin := '';                   //標題顯示面板樣式 
    UseGlobalColor := True;            //是否使用全域性顏色 
  end
end
7.放置一些控制元件測試效果,結果如下圖所示:



再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed