Skip to content

Commit 40fde06

Browse files
version 3.9.2
- Added button customization properties to TStyledTaskDialog: - DialogButtonsDrawType: TStyledButtonDrawType (btRoundRect, btRounded, btRect, btEllipse) - DialogButtonsRadius: Integer (corner radius) - DialogButtonsRoundedCorners: TRoundedCorners (which corners are rounded) - Added RegisterDefaultRenderingStyle class method to TStyledTaskDialog for global default button styles - Added "Apply to Task Dialogs" option in Demo settings for rounded buttons
1 parent a10579a commit 40fde06

32 files changed

+1161
-94
lines changed

Demos/source/MainDemoForm.dfm

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ object frmMain: TfrmMain
376376
Left = 3
377377
Top = 28
378378
Width = 386
379-
Height = 97
379+
Height = 120
380380
Align = alTop
381381
Caption = 'Rounded Buttons'
382382
TabOrder = 1
@@ -413,11 +413,22 @@ object frmMain: TfrmMain
413413
TabOrder = 2
414414
OnClick = MenuRoundedCheckBoxClick
415415
end
416+
object DialogRoundedCheckBox: TCheckBox
417+
AlignWithMargins = True
418+
Left = 5
419+
Top = 87
420+
Width = 376
421+
Height = 17
422+
Align = alTop
423+
Caption = 'Apply to Task Dialogs'
424+
TabOrder = 3
425+
OnClick = DialogRoundedCheckBoxClick
426+
end
416427
end
417428
object ShowFormGroupBox: TGroupBox
418429
AlignWithMargins = True
419430
Left = 3
420-
Top = 131
431+
Top = 154
421432
Width = 386
422433
Height = 62
423434
Align = alTop

Demos/source/MainDemoForm.pas

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ TfrmMain = class(TForm)
113113
ToolbarRoundedCheckBox: TCheckBox;
114114
ButtonsRoundedCheckBox: TCheckBox;
115115
MenuRoundedCheckBox: TCheckBox;
116+
DialogRoundedCheckBox: TCheckBox;
116117
ThemesRadioGroup: TRadioGroup;
117118
SelectThemeRadioGroup: TRadioGroup;
118119
acApplySettings: TAction;
@@ -146,6 +147,7 @@ TfrmMain = class(TForm)
146147
procedure ToolbarRoundedCheckBoxClick(Sender: TObject);
147148
procedure ButtonsRoundedCheckBoxClick(Sender: TObject);
148149
procedure MenuRoundedCheckBoxClick(Sender: TObject);
150+
procedure DialogRoundedCheckBoxClick(Sender: TObject);
149151
private
150152
FActiveAction: TAction;
151153
FActiveView: TForm;
@@ -428,6 +430,11 @@ procedure TfrmMain.MenuRoundedCheckBoxClick(Sender: TObject);
428430
FSettings.MenuDrawRounded := MenuRoundedCheckBox.Checked;
429431
end;
430432

433+
procedure TfrmMain.DialogRoundedCheckBoxClick(Sender: TObject);
434+
begin
435+
FSettings.DialogDrawRounded := DialogRoundedCheckBox.Checked;
436+
end;
437+
431438
procedure TfrmMain.pcChange(Sender: TObject);
432439
begin
433440
FSettings.ActivePageIndex := pc.ActivePageIndex;
@@ -632,6 +639,7 @@ procedure TfrmMain.UpdateFromSettings;
632639
ToolbarRoundedCheckBox.Checked := FSettings.ToolbarDrawRounded;
633640
ButtonsRoundedCheckBox.Checked := FSettings.ButtonDrawRounded;
634641
MenuRoundedCheckBox.Checked := FSettings.MenuDrawRounded;
642+
DialogRoundedCheckBox.Checked := FSettings.DialogDrawRounded;
635643

636644
//Rounded Buttons for StyledButtons
637645
if FSettings.ButtonDrawRounded then
@@ -658,6 +666,14 @@ procedure TfrmMain.UpdateFromSettings;
658666
TStyledButtonGroup.RegisterDefaultRenderingStyle(LStyle);
659667
catMenuItems.StyleDrawType := LStyle;
660668
MenuButtonToolbar.StyleDrawType := LStyle;
669+
670+
//Rounded Buttons for StyledTaskDialogs
671+
if FSettings.DialogDrawRounded then
672+
LStyle := btRounded
673+
else
674+
LStyle := btRoundRect;
675+
TStyledTaskDialog.RegisterDefaultRenderingStyle(LStyle);
676+
661677
PopulateAvailThemes;
662678
finally
663679
Screen.Cursor := crDefault;

Demos/source/uSettings.pas

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,14 @@ TSettings = class
5656
FButtonDrawRounded: Boolean;
5757
FToolbarDrawRounded: Boolean;
5858
FMenuDrawRounded: Boolean;
59+
FDialogDrawRounded: Boolean;
5960
function GetUseDarkStyle: Boolean;
6061
function GetButtonTextColor: TColor;
6162
class function GetSettingsFileName: string; static;
6263
procedure SetButtonDrawRounded(const AValue: Boolean);
6364
procedure SetToolbarDrawRounded(const AValue: Boolean);
6465
procedure SetMenuDrawRounded(const AValue: Boolean);
66+
procedure SetDialogDrawRounded(const AValue: Boolean);
6567
procedure Changed;
6668
procedure SetActivePageIndex(const AValue: Integer);
6769
procedure SetFontName(const AValue: string);
@@ -92,6 +94,7 @@ TSettings = class
9294
property ButtonDrawRounded: Boolean read FButtonDrawRounded write SetButtonDrawRounded;
9395
property ToolbarDrawRounded: Boolean read FToolbarDrawRounded write SetToolbarDrawRounded;
9496
property MenuDrawRounded: Boolean read FMenuDrawRounded write SetMenuDrawRounded;
97+
property DialogDrawRounded: Boolean read FDialogDrawRounded write SetDialogDrawRounded;
9598
end;
9699

97100
function IsWindowsAppThemeLight: Boolean;
@@ -220,6 +223,7 @@ procedure TSettings.ReadSettings;
220223
FToolbarDrawRounded := FIniFile.ReadBool('Global', 'ToolbarDrawRounded', false);
221224
FButtonDrawRounded := FIniFile.ReadBool('Global', 'ButtonDrawRounded', false);
222225
FMenuDrawRounded := FIniFile.ReadBool('Global', 'MenuDrawRounded', false);
226+
FDialogDrawRounded := FIniFile.ReadBool('Global', 'DialogDrawRounded', false);
223227

224228
//Select Style by default on Actual Windows Theme
225229
if FThemeSelection = tsAsWindows then
@@ -249,6 +253,7 @@ procedure TSettings.WriteSettings;
249253
FIniFile.WriteBool('Global', 'ToolbarDrawRounded', ToolbarDrawRounded);
250254
FIniFile.WriteBool('Global', 'ButtonDrawRounded', ButtonDrawRounded);
251255
FIniFile.WriteBool('Global', 'MenuDrawRounded', MenuDrawRounded);
256+
FIniFile.WriteBool('Global', 'DialogDrawRounded', DialogDrawRounded);
252257
FIsChanged := False;
253258
end;
254259

@@ -275,6 +280,15 @@ procedure TSettings.SetMenuDrawRounded(const AValue: Boolean);
275280
end;
276281
end;
277282

283+
procedure TSettings.SetDialogDrawRounded(const AValue: Boolean);
284+
begin
285+
if FDialogDrawRounded <> AValue then
286+
begin
287+
FDialogDrawRounded := AValue;
288+
Changed;
289+
end;
290+
end;
291+
278292
procedure TSettings.SetActivePageIndex(const AValue: Integer);
279293
begin
280294
if FActivePageIndex <> AValue then

Images/AutoClickDemo.jpg

99.3 KB
Loading

Images/BitBtnDemo.jpg

374 KB
Loading
376 KB
Loading

Images/MainDemo.jpg

431 KB
Loading

Images/RoundedCornersDemo.jpg

245 KB
Loading

Images/StyledButtonDemoBasic.jpg

558 KB
Loading
88.9 KB
Loading

0 commit comments

Comments
 (0)