加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 皮肤控件AlphaControls的使用

发布时间:2020-12-15 09:53:39 所属栏目:大数据 来源:网络整理
导读:?? ???? AlphaControls是一个标准的独创的皮肤控件集合,它具有很多新的属性可以添加到普通的控件中以增强程序界面效果,同时还能够添加一些行为到普通的控件中,并且使用了一些新技术。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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读