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)