Delphi 皮肤控件AlphaControls的使用

时间:2024-04-13 11:39:57

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.****.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                        AlphaControls是一个标准的独创的皮肤控件集合,它具有很多新的属性可以添加到普通的控件中以增强程序界面效果,同时还能够添加一些行为到普通的控件中,并且使用了一些新技术。AlphaControls是一个易于使用和强大的工具,用于开发具有独创的皮肤和无皮肤的业务/媒体应用程序。

网上有注册版和源码版,在这里我使用7.51 FS进行学习使用。
1.安装前需先卸载以前的版本,移除IDE里的AlphaControls控件包,然后到bpl文件夹和dcp文件夹,删除所有(acnt*.*)文件,如图1所示:
Delphi 皮肤控件AlphaControls的使用
2.解压压缩包到文件夹,把这个文件夹加到"Library Path";
3.运行Delphi 2010,打开"acnt2010_R.dpk",编译此运行期库,再打开"acnt2010.dpk",安装;
4.安装完毕后,就可以在组件面板上看到AlphaControls组件了,如下图所示:
Delphi 皮肤控件AlphaControls的使用

下面进行测试AlphaControls使用:
1.新建一个应用程序窗体,在窗体上放置一个TsSkinManager
2.设置TsSkinManager其"SkinDirectory"属性为皮肤Skins文件夹路径;
3.然后再选定其"SkinName"属性所要设置的皮肤名称,比如"UnderWater",如下图所示:
Delphi 皮肤控件AlphaControls的使用
4.设置其"Active"属性为True,编译运行如下图所示:
Delphi 皮肤控件AlphaControls的使用
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.放置一些控件测试效果,结果如下图所示:
Delphi 皮肤控件AlphaControls的使用


           

给我老师的人工智能教程打call!http://blog.****.net/jiangjunshow

Delphi 皮肤控件AlphaControls的使用