StyledComponents是Delphi(32和64位)的一组VCL组件,可让您克服标准VCL组件施加的限制,从而维持属性的100%兼容性。
您可以轻松地使用它们,以替代标准标准,并提供新功能。
VCL按钮和组件的主要局限性是由操作系统定义的形状和颜色。
使用StyledledComponents ,您可以简单地克服这些限制。你可以:
最后但并非最不重要的一点是,使用StyledTaskDialog ,您可以在任何方面控制消息对话框的外观。使用Skia4Delphi,您还可以在消息中添加动画图标。
…全部可从Delphi XE6版本(允许使用用于按钮绘图的GDI+)。
仅使用少数属性,您可以以非常简单的方式设置按钮。
使用三个值,您可以为按钮颜色,边框和字体颜色选择预定义的现成样式:
btRoundRect (default) | btRect | btRounded | btEllipse |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
在这张照片中,您可以看到styledcomponentsdemo应用程序,其中包含一些示例:

StyledComponents提供了更多的选项,而不是标准组件,例如:
…最后,可以提供一个完全可自定义的对话框的组件,该组件使用自定义的图像或动画以及其中的样式数,以100%与应用程序的其余部分一致。
注意:默认情况下,所有样式按钮的光标都是crhandpoint。
| 成分 | 描述 |
|---|---|
![]() | TstyledGraphicButton是一个“纯”图形按钮,具有样式(例如,经典,bootstrap,Angular,Basic-Color,svg-color),并支持成像主义者,动作和五个状态的完整配置:正常,按压,选择,选择,热,热和残疾。您也可以将其用于TVIRTUALLIST组件。 |
![]() | TstyledButton是经典的“按钮控制”,具有样式(例如,经典,bootstrap,Angular,Basic-Color,svg-color),并支持五个状态的成像主义者,动作和完整配置:正常,紧迫,选择,精选,热和残疾人,以及焦点和TabStop支持。您可以轻松替换所有tbutton组件。 |
![]() | TstyledToolbar是一个使用StyledToolButton的工具栏,可以完全自定义每个按钮样式,并在可见字幕时完全控制按钮的大小。在内部的造型toolbuttons的宽度和高度,不取决于字幕大小,如经典的ttoolbar所示。 |
![]() | tstyleddbnavigator是一种特殊的“ dbnavigator”组件,具有样式(例如,经典,bootstrap,angular,basic-color,svg-color),以及按钮字幕和更好的“移动”图标。 |
![]() | TstyledBindNavigator是一种特殊的“ bindnavigator”组件,具有样式(例如,经典,bootstrap,angular,basic-color,svg-color),以及按钮字幕,在垂直模式下进行更好的“移动”图标。 |
![]() | tstyledbuttongroup是一种特殊的“对接组”组件,具有样式(例如,经典,bootstrap,angular,basic-color,svg-color)加上图像定位,定制签名和平坦属性,可为按钮外观添加更多控件。 |
![]() | TstyledCategoryButtons是一种特殊的“类别Buttons”组件(例如,经典,Bootstrap,Angular,Angular,Basic-Color,SVG-Color)加上ImagePosition,Paintialsigation签名和平面特性,可为纽扣外观添加更多控件。 |
![]() | TSTYLEDTASKDIALOG是一种特殊的“ TaskDialog”组件(用于替换MessagedLG和TaskDLG),用自定义按钮字幕和图标。使用特殊表格,您可以显示完整的可自定义对话框。使用Skia4delpghi,您可以显示动画对话框! |
对于“兼容后向后”,您也可以使用这些组件。
| 成分 | 描述 |
|---|---|
![]() | tstyledspeedbutton源自tstyledgraphicbutton,并引入布局,边距和间距属性,以控制图形(图标和标题)作为标准的tspeedButton。您也可以使用字形和数字。 |
![]() | tstyledBitBtn源自tstyledbutton,并引入布局,边距和间距属性,以控制图形(图标和标题)作为标准的TBITBTN。您也可以使用字形和数字。 |
这些组件使用一些属性以不同的方式绘制图标和标题:
| 成分 | 描述 |
|---|---|
![]() | tstyledanimatedButton使用Skia tskanimatedImage组件,带有“动画图标”的样式按钮。您可以选择启动动画的事件,例如: AnimateOnMouseover , AnimateOnClick , AnimateAlways , AnimateOnfocus 。 |
从您的Delphi版本的正确文件夹中打开包装组VCL.StyledComponents.groupproj (例如 styledComponents packages d12)。
然后构建运行时软件包: StyledComponentsxxx并安装设计时软件包: DCLSTYLEDCOMPONENTSXXX 。
请记住要添加“ {文件夹} styledComponents source”路径,以使用应用程序或库路径中的组件” {folder} styledcomponents lib lib dxx dxx winxx winxx winxx repares”
如果您还想使用动画组件,则需要先前安装在IDE中的Skia4Delphi(在Delphi 12中,它已经安装了)。
从您的Delphi版本的正确文件夹中打开包装组VCL.StyledAnimatedComponents.groupproj (例如 styledComponents packages d12)。
然后构建运行时软件包: StyledAnimatedComponentsxxx ,并安装Design-time软件包: dclStyLeDAnimatedComponentsxxx 。
如果您需要不包括其他delphi版本的软件包(比XE6更新),请添加一个新问题
TstyledGraphicButton , TstyledButton , TstyledBitBtn和TstyledSpeedButton旨在扩展按钮UI样式,以打破经典的VCL按钮组件的限制。
定义的按钮样式不受VCLSTYLE的影响,并且在“非样式” Windows应用程序上也有Visibile,因此您也可以使用VCLSTYLES具有多个按钮。
您可以根据需要构建矩形,圆形或圆形或椭圆/圆按钮。
仅使用三个元素,您可以以非常简单的方式设置按钮:
TstyledGraphicButton和StyledButton的组成编辑器:
为了简化样式按钮的使用,有一个有用的“组件编辑器”来选择定义按钮样式的三个值:
可用时尚的列表
控制任何样式的按钮,工具栏和dbnavigator的默认渲染样式
可以在全球应用程序级别重新定义任何组件的默认绘图样式,并在项目文件中添加一些行。例如:
将这些单元添加到DPR的使用中:
Vcl.StyledButton,
Vcl.ButtonStylesAttributes,
Vcl.StyledDbNavigator,
Vcl.StyledToolbar,应用程序后添加这些行。在DPR代码中进行启动:
TStyledButton.RegisterDefaultRenderingStyle(btRounded);
TStyledDbNavigator.RegisterDefaultRenderingStyle(btRounded);
TStyledToolbar.RegisterDefaultRenderingStyle(btRect);您也可以使用任何类型的家庭/班级/外观,例如:
TStyledButton.RegisterDefaultRenderingStyle(btRoundRect, BOOTSTRAP_FAMILY, btn_primary, BOOTSTRAP_NORMAL);您还可以使用Interposer单元(vcl.styledcomponentshooks.pas)轻松更改应用程序的所有按钮。
模板单元创建您的自定义家庭风格
如下所述
组件编辑器,具有选定的家庭“ Boostrap”和Styleradius 18:样式外观可以正常或轮廓

组件编辑器,具有选定的家庭“ Angular Light”:样式外观可以扁平,抬高,基本,抚摸

组件编辑器具有选定的家庭“经典”:样式外观可以是正常的或大纲

组件编辑器,具有选定的家庭“基本色”和圆形的styledrawtype:样式外观可以是正常的和轮廓的

组件编辑器,具有选定的家族“ SVG-Color”,样式外观可以是正常的或大纲

特殊功能
与经典的VCL控件相比,样式组件具有特殊功能。
圆形的选项
您可以定义RoundedCorners属性,启用/禁用圆形图,如本示例所示:

按钮的通知徽章
所有样式的按钮都可以在其上方显示通知式,并具有自定义标签/颜色和形状。

阅读Explorer如何工作的通知徽章指南...
按钮的AutoClick/AutoClickDelay
如Autoclick Demo中所示,您可以激活AutoClick标志以调用StyledButton的点击事件,如Autoclickdelay的时间:
此外,StyledTaskDialog也可以使用此功能来自动化并关闭对话框。

阅读Autoclick/delay指南的运作方式...
圆形按钮样式
_在此图片中,将所有“ VCL风格”按钮应用于“全面”按钮:VCL样式按钮中不可用的“全面”按钮的示例。

使用“ StyledComponentsDemos”查看所有中的组件!
在“演示文件夹”中,您可以找到包含该项目的每个Delphi版本的子文件夹:
styledcomponentsdemo.dproj
该演示是组织的,以将不同的形式“嵌入”到主要形式的客户区域或外部。
demos styledbuttonsdemo delphi10_4+ styledbuttonsvclstyled.dpr
使用标准的VCL按钮,您只能使用“每控制”选项应用Delphi 10.4的不同颜色,但是您无法控制按钮的其他方面。
借助StyledledComponents,您可以在以前的版本的Delphi中使用Active VCL风格的按钮,并且可以控制按钮的所有方面,例如圆形形状,因为您可以在演示中进行测试。
与旧的Delphi版本(如XE6)一起编译的相同演示显示您有此功能可用!

使Skia4Delphi可以看到动画按钮演示
如果安装了SKIA4DELPHI,则还必须安装包含的软件包。StyledAnimatedComponents.groupproj。
然后,您必须在StyledComponentsDemo项目的“ context-menu”中“启用Skia”,以便您可以看到正在使用的样式的按钮。

请注意,此功能在Delphi XE6中不可用。

圆形演示
显示出应用于许多样式组件的样式的卷心菜选项的简单方法。

tstyledtoolbar(和tstyledtoolbuttons)显示一个工具栏,例如经典的ttoolbar,但具有相同的样式属性,可以分配给样式的图形按钮。
在StyledToolbar演示中,与经典的Delphi Toolbar相比,您可以看到如何使用此组件。
主要不同的是基于对按钮的“大小”的控制,当“表演”是正确的:在标准工具栏中,尺寸由较大的标题定义。在StyledToolbar中,尺寸始终由“纽扣宽”属性定义。
在这张照片中,工具栏演示比较了StyledToolbar和经典工具栏

tstyleddbnavigator(带有tstylednavbutton按钮)显示导航器,例如经典的TDBNAVIGATOR,但具有相同的样式属性,可以分配给样式的图形按钮。
tstyledbindnavigator(带有tstylednavbutton按钮)显示导航器,例如经典的tbindnavigator,但具有相同的样式属性,可以分配给样式的图形按钮。
与经典的Delphi Tdbnavigator和Tbindnavigator相比,在TstyledDbnavigator演示中,您可以看到如何使用这些组件。
在这张图片中,带有自定义图像的定制图像和字幕可见的styleddbnavigator和StyledBindnavigator

主要区别是:
tstyledbuttongroup和tstyledCategoryButtons显示了具有流量或全尺寸布局的按钮,例如经典的Tbuttongroup或TcategoryButtons。您可以针对组件级别的每个按钮定义stylesfamily/styleclass/styleaplase,也可以在单个“按钮”项目上更改样式。
tstyledbuttongroup从tbuttongroup继承,因此您可以继续将其用作演示中显示的VCL组件:

tstyledcategorybuttons从tcategorybuttons继承,因此您可以继续将其用作演示中显示的VCL组件:

主要区别是:
TSTYLEDTASKDIALOG旨在扩展消息/任务对话框功能,完全可自定义和动画。
您可以使用不同的“ styledbutton set”(经典,角度,bootstrap)测试样式对话框。
另外,您可以使用自定义表单(从“ tstyledtaskdialogform”继承)来显示您的完整自定义对话框。
您可以在应用程序中使用StyledTaskDialog来替换MessagedLG和TaskDialogs。
添加单元vcl.StyledTaskDialogFormunit.pas您的应用程序。
如果您使用的是SKIA4DELPHI并且要使用动画对话框,请添加单元Skia.vcl.StyledTaskDialoganimatedUnit.pas
然后,您必须将单元vcl.StyledTaskDialog添加到您的单位中,然后将呼叫更改为标准对话框/taskDialogs:MessagedLG-> stypledMessagedLg taskdialog-> styledTaskDialog
默认情况下,StyledDialogs使用SEGOE UI字体,尺寸为9(存储在VCL.StyledTaskDialogFormunit.dfm中)。如果要使用其他字体/尺寸,可以像以下示例一样调用initialdestiveSestypaskDialogs:
// Resize Standard Message Font to an higher size and select Arial character
Screen.MessageFont.Size := Round(Screen.MessageFont.Size* 1.2 );
Screen.MessageFont. Name := ' Arial ' ;
// Inizialize the styled dialogs using "Bootstrap" styled buttons and the Screen.MessageFont
InitializeStyledTaskDialogs(True, Screen.MessageFont, BOOTSTRAP_FAMILY);StyledTaskDialog演示
一个简单的演示,用于展示如何使用Imakelist使用定制图标使用StyleDledTaskDialog。
主形式可用于测试每种格式 /按钮和对话类型。
++确认对话框,使用自定义字体/大小和英语按钮++

++警告对话框与意大利语标题为Acakagraphite样式++
激活按钮字幕是更改stypledcomponents.inc file并激活{$ define itamessages}

Windows10中的++错误对话框VCL样式++

++自定义消息对话框++

++使用styletaskDialog组件++
...带有radiobuttons,命令链接,验证文本和页脚文本

如果您已经安装了Skia4Delphi,则还可以尝试使用AnimateDtaskDialogDemo,并具有不错的动画:


相关链接:embarcadero.com-学习delphi.org
2024年11月30日:版本3.7.5
2024年11月10日:版本3.7.4
2024年11月8日:版本3.7.3
2024年11月8日:版本3.7.2
2024年10月22日:版本3.7.1
2024年10月20日:版本3.7.0
2024年10月12日:版本3.6.9
2024年10月8日:版本3.6.8
2024年10月6日:版本3.6.7
2024年10月2日:版本3.6.6
2024年9月16日:版本3.6.5
2024年8月26日:版本3.6.4
2024年8月20日:版本3.6.3
2024年8月3日:版本3.6.2
2024年7月31日:版本3.6.1
2024年6月21日:版本3.6.0 StyledTaskDialog更改:
NotificationBadge更新:
其他更改:
2024年6月11日:版本3.5.4
2024年5月16日:版本3.5.3
2024年5月12日:版本3.5.2
2024年5月3日:版本3.5.1
2024年4月26日:版本3.5.0
2024年4月23日:版本3.4.5
2024年4月19日:版本3.4.4
2024年4月13日:版本3.4.3
2024年4月7日:版本3.4.2
2024年4月5日:版本3.4.1
2024年4月3日:版本3.4.0
2024年3月16日:版本3.3.3
2024年3月9日:版本3.3.2
2024年3月3日:版本3.3.1
2024年2月18日:版本3.2.1
2024年2月3日:版本3.2.0
2024年1月2日:版本3.1.1
2023年10月23日:版本3.1.0
2023年10月8日:版本3.0.0
2023年9月7日:版本2.1.0
10 Jul 2023:版本2.0.0
2023年11月23日:版本1.1.0
2022年11月17日:版本1.0.0
2022年11月15日:版本0.9.9 StyledButton:
2022年11月10日:版本0.9.8 StypledButton:
2022年11月7日:版本0.9.5(VCL)
2022年11月3日:版本0.9.1(VCL)
2022年11月1日:版本0.9.0(VCL)