diff --git a/Code/DDevExtensions/D_D110/DDevExtensions.dproj b/Code/DDevExtensions/D_D110/DDevExtensions.dproj index 2078ad3..f1afa6d 100644 --- a/Code/DDevExtensions/D_D110/DDevExtensions.dproj +++ b/Code/DDevExtensions/D_D110/DDevExtensions.dproj @@ -5,7 +5,7 @@ Debug DCC32 ..\bin\DDevExtensionsD110.dll - 19.3 + 19.5 Release True Library diff --git a/Code/DDevExtensions/Installer/DDevExtensionsReg.dpr b/Code/DDevExtensions/Installer/DDevExtensionsReg.dpr index e2ab9bf..a75ad4b 100644 --- a/Code/DDevExtensions/Installer/DDevExtensionsReg.dpr +++ b/Code/DDevExtensions/Installer/DDevExtensionsReg.dpr @@ -10,12 +10,15 @@ program DDevExtensionsReg; uses Forms, Main in 'Main.pas' {FormMain}, - AppConsts in '..\Source\AppConsts.pas'; + AppConsts in '..\Source\AppConsts.pas', + Vcl.Themes, + Vcl.Styles; {$R *.res} begin Application.Initialize; + TStyleManager.TrySetStyle('Windows10'); Application.Title := 'DDevExtensions Installer'; Application.CreateForm(TFormMain, FormMain); Application.Run; diff --git a/Code/DDevExtensions/Installer/DDevExtensionsReg.dproj b/Code/DDevExtensions/Installer/DDevExtensionsReg.dproj index df7a0a5..1e0ed04 100644 --- a/Code/DDevExtensions/Installer/DDevExtensionsReg.dproj +++ b/Code/DDevExtensions/Installer/DDevExtensionsReg.dproj @@ -4,7 +4,7 @@ DDevExtensionsReg.dpr Release DCC32 - 19.3 + 19.5 True Application VCL @@ -73,6 +73,7 @@ true . DDevExtensionsReg + Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png @@ -91,6 +92,7 @@ Debug (Ohne) + none 7 @@ -159,8 +161,8 @@ - Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver - Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components diff --git a/Code/DDevExtensions/Installer/DDevExtensionsReg.res b/Code/DDevExtensions/Installer/DDevExtensionsReg.res index e265305..73723d0 100644 Binary files a/Code/DDevExtensions/Installer/DDevExtensionsReg.res and b/Code/DDevExtensions/Installer/DDevExtensionsReg.res differ diff --git a/Code/DDevExtensions/Installer/Main.dfm b/Code/DDevExtensions/Installer/Main.dfm index 4955804..20ef0bd 100644 --- a/Code/DDevExtensions/Installer/Main.dfm +++ b/Code/DDevExtensions/Installer/Main.dfm @@ -2,25 +2,24 @@ object FormMain: TFormMain Left = 362 Top = 178 ActiveControl = btnInstall + AutoSize = True BorderIcons = [biSystemMenu, biMinimize] Caption = 'Install' - ClientHeight = 190 - ClientWidth = 377 + ClientHeight = 174 + ClientWidth = 361 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] - OldCreateOrder = False Position = poScreenCenter OnCanResize = FormCanResize OnCreate = FormCreate - PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel - Left = 8 - Top = 8 + Left = 0 + Top = 0 Width = 121 Height = 13 Caption = 'Install to / Uninstall from:' @@ -32,8 +31,8 @@ object FormMain: TFormMain ParentFont = False end object btnInstall: TButton - Left = 8 - Top = 157 + Left = 0 + Top = 149 Width = 75 Height = 25 Caption = '&Install' @@ -42,8 +41,8 @@ object FormMain: TFormMain OnClick = btnInstallClick end object btnQuit: TButton - Left = 294 - Top = 157 + Left = 286 + Top = 149 Width = 75 Height = 25 Cancel = True @@ -52,8 +51,8 @@ object FormMain: TFormMain OnClick = btnQuitClick end object btnUninstall: TButton - Left = 89 - Top = 157 + Left = 81 + Top = 149 Width = 75 Height = 25 Caption = '&Uninstall' @@ -61,16 +60,16 @@ object FormMain: TFormMain OnClick = btnUninstallClick end object cbxEnvs: TCheckListBox - Left = 8 - Top = 24 + Left = 0 + Top = 16 Width = 361 Height = 110 ItemHeight = 13 TabOrder = 3 end object pbProgress: TProgressBar - Left = 8 - Top = 140 + Left = 0 + Top = 132 Width = 361 Height = 11 TabOrder = 4 diff --git a/Code/DDevExtensions/Installer/Main.pas b/Code/DDevExtensions/Installer/Main.pas index 6ac5ad5..efc5a41 100644 --- a/Code/DDevExtensions/Installer/Main.pas +++ b/Code/DDevExtensions/Installer/Main.pas @@ -13,7 +13,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst, Registry, ShlObj, ActiveX, AppConsts, - ExtCtrls, ComCtrls; + ExtCtrls, ComCtrls, Vcl.Themes, Vcl.Styles; type TEnvKind = ({ekDelphi5, ekBCB5, ekDelphi6, ekBCB6, ekDelphi7, @@ -87,6 +87,7 @@ TFormMain = class(TForm) procedure UninstallFile(const InstallDir, FileName: string); procedure UnregisterExpert(const EnvData: TEnvData; const Name: string); function HasExpert(const EnvData: TEnvData; const Name: string): Boolean; + function IsDarkMode: Boolean; procedure DoInstall(const EnvData: TEnvData); procedure DoUninstall(const EnvData: TEnvData); @@ -263,6 +264,9 @@ procedure TFormMain.FormCreate(Sender: TObject); cbxEnvs.Checked[i] := True; pbProgress.Max := cbxEnvs.Items.Count; + + if IsDarkMode then + TStyleManager.TrySetStyle('Windows10 SlateGray', False); end; procedure TFormMain.InstallFile(const InstallDir, FileName: string; Force: Boolean); @@ -353,6 +357,29 @@ function TFormMain.HasExpert(const EnvData: TEnvData; end; end; +function TFormMain.IsDarkMode: Boolean; +var + Reg: TRegistry; +begin + Result := False; + Reg := TRegistry.Create; + try + Reg.RootKey := HKEY_CURRENT_USER; + if Reg.OpenKeyReadOnly('\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize\') then begin + try + if Reg.ValueExists('AppsUseLightTheme') then + Result := Reg.ReadInteger('AppsUseLightTheme') = 0; + finally + Reg.CloseKey; + end; + end + else + Result := False; + finally + Reg.Free; + end; +end; + {------------------------------------------------------------------------------} procedure TFormMain.DoInstall(const EnvData: TEnvData); diff --git a/Code/DDevExtensions/Source/ExcelExport/FrmExcelExport.dfm b/Code/DDevExtensions/Source/ExcelExport/FrmExcelExport.dfm index 1329444..256e20b 100644 --- a/Code/DDevExtensions/Source/ExcelExport/FrmExcelExport.dfm +++ b/Code/DDevExtensions/Source/ExcelExport/FrmExcelExport.dfm @@ -4,23 +4,22 @@ object FormExcelExport: TFormExcelExport BorderIcons = [biMinimize, biMaximize] BorderStyle = bsDialog Caption = 'Excel Export' - ClientHeight = 59 - ClientWidth = 428 + ClientHeight = 41 + ClientWidth = 418 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 + Font.Name = 'Segoe UI' Font.Style = [] - OldCreateOrder = False Position = poScreenCenter OnCloseQuery = FormCloseQuery OnPaint = FormPaint - PixelsPerInch = 96 TextHeight = 13 object LblExportText: TLabel Left = 8 Top = 8 - Width = 99 + Width = 101 Height = 13 Caption = 'Exporting to Excel...' Transparent = False diff --git a/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.dfm b/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.dfm index 57354f9..6b354b3 100644 --- a/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.dfm +++ b/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.dfm @@ -4,23 +4,22 @@ inherited FormFileSelector: TFormFileSelector ActiveControl = edtFilter BorderIcons = [biSystemMenu] Caption = 'Find/Use Unit' - ClientHeight = 535 - ClientWidth = 770 + ClientHeight = 517 + ClientWidth = 760 Constraints.MinHeight = 300 Constraints.MinWidth = 500 - OldCreateOrder = True PopupMode = pmAuto Position = poScreenCenter - OnCreate = FormCreate OnDestroy = FormDestroy OnResize = FormResize - PixelsPerInch = 96 + ExplicitWidth = 782 + ExplicitHeight = 573 TextHeight = 13 object ListView: TListView Left = 0 Top = 25 - Width = 770 - Height = 405 + Width = 760 + Height = 387 Align = alClient Columns = < item @@ -61,8 +60,8 @@ inherited FormFileSelector: TFormFileSelector end object StatusBar: TStatusBar Left = 0 - Top = 516 - Width = 770 + Top = 498 + Width = 760 Height = 19 Panels = < item @@ -76,7 +75,7 @@ inherited FormFileSelector: TFormFileSelector object ToolBar: TToolBar Left = 0 Top = 0 - Width = 770 + Width = 760 Height = 25 BorderWidth = 1 ButtonHeight = 21 @@ -146,7 +145,7 @@ inherited FormFileSelector: TFormFileSelector Left = 381 Top = 0 Width = 302 - Height = 22 + Height = 21 Style = csOwnerDrawFixed DropDownCount = 25 TabOrder = 2 @@ -156,17 +155,17 @@ inherited FormFileSelector: TFormFileSelector end object PanelButtons: TPanel Left = 0 - Top = 485 - Width = 770 + Top = 467 + Width = 760 Height = 31 Align = alBottom BevelOuter = bvNone TabOrder = 2 DesignSize = ( - 770 + 760 31) object btnUseUnit: TButton - Left = 609 + Left = 599 Top = 3 Width = 75 Height = 25 @@ -177,7 +176,7 @@ inherited FormFileSelector: TFormFileSelector TabOrder = 3 end object btnCancel: TButton - Left = 690 + Left = 680 Top = 3 Width = 75 Height = 25 @@ -200,7 +199,7 @@ inherited FormFileSelector: TFormFileSelector TabOrder = 0 end object btnOpen: TButton - Left = 480 + Left = 470 Top = 3 Width = 108 Height = 25 @@ -223,8 +222,8 @@ inherited FormFileSelector: TFormFileSelector end object PanelBottom: TPanel Left = 0 - Top = 430 - Width = 770 + Top = 412 + Width = 760 Height = 55 Align = alBottom BevelOuter = bvNone @@ -250,6 +249,7 @@ inherited FormFileSelector: TFormFileSelector OnDragOver = ListViewInsertUnitsDragOver OnInfoTip = ListViewInfoTip OnKeyDown = ListViewInsertUnitsKeyDown + ExplicitWidth = 646 end object Panel1: TPanel Left = 656 @@ -263,6 +263,7 @@ inherited FormFileSelector: TFormFileSelector Padding.Right = 6 Padding.Bottom = 6 TabOrder = 1 + ExplicitLeft = 646 object Label1: TLabel Left = 6 Top = 4 @@ -271,6 +272,12 @@ inherited FormFileSelector: TFormFileSelector Align = alClient AutoSize = False Caption = 'Use the [Insert] key or Drag&&Drop to add units to the list.' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -10 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False WordWrap = True end end diff --git a/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.pas b/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.pas index 2053cab..8153274 100644 --- a/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.pas +++ b/Code/DDevExtensions/Source/FileSelector/FrmFileSelector.pas @@ -16,7 +16,7 @@ interface Windows, Messages, SysUtils, Classes, Contnrs, Graphics, Controls, Forms, Dialogs, ComCtrls, Menus, ExtCtrls, ActnList, ImgList, StdCtrls, ToolWin, CtrlUtils, CommCtrl, ToolsAPI, IDEUtils, SimpleXmlImport, SimpleXmlIntf, - ToolsAPIHelpers, FrmBase, DelphiDesignerParser; + ToolsAPIHelpers, FrmBase, DelphiDesignerParser, System.Actions, Vcl.Themes, Vcl.Styles; type { Fix Clear() in OwnerData Mode. We don't need to get every item (OnData) if we delete them all. } @@ -157,6 +157,8 @@ TFormFileSelector = class(TFormBase) FEditor: IOTASourceEditor; FParser: TDesignerParser; + FStyleDark: Boolean; + procedure FilerEditWndProc(var Msg: TMessage); procedure RemoveUsesUnits(Writer: IOTAEditWriter; StopIndex: Integer; DeleteUsesList: TList; UsesList: TUsesList); @@ -774,6 +776,7 @@ function TFormFileSelector.FilterListViewData(S: string): Boolean; procedure TFormFileSelector.FormCreate(Sender: TObject); begin + inherited; FormFileSelector := Self; ToolBar.DrawingStyle := ComCtrls.dsGradient; ListView.DoubleBuffered := True; @@ -787,6 +790,8 @@ procedure TFormFileSelector.FormCreate(Sender: TObject); FAllData := TInfoList.Create; FCurrentData := TInfoList.Create(False); + + FStyleDark := StyleName.Contains('Dark'); end; procedure TFormFileSelector.FormDestroy(Sender: TObject); @@ -835,9 +840,22 @@ procedure TFormFileSelector.ListViewCustomDrawItem(Sender: TCustomListView; begin DefaultDraw := True; + if Item.Index mod 2 = 0 then begin + if FStyleDark then begin + Sender.Canvas.Brush.Color := $383737; //about 12.5% brighter than default line color + Sender.Canvas.Font.Color := clWhite; //above line changes font color to black, set it to white + end + else + Sender.Canvas.Brush.Color := $FAFAFA; + end; + Info := Item.Data; - if Info.Opened then - Sender.Canvas.Font.Color := clBlue; + if Info.Opened then begin + if FStyleDark then + Sender.Canvas.Font.Color := $FFAAAA //lightblue (clBlue would be too dark) + else + Sender.Canvas.Font.Color := clBlue; + end; if FParser <> nil then begin @@ -846,9 +864,6 @@ procedure TFormFileSelector.ListViewCustomDrawItem(Sender: TCustomListView; else if (FParser.ImplUses.FindUses(Info.Name) <> nil) then Sender.Canvas.Font.Style := [fsBold, fsUnderline]; end; - - if Item.Index mod 2 = 0 then - Sender.Canvas.Brush.Color := $FAFAFA; end; procedure TFormFileSelector.ListViewData(Sender: TObject; Item: TListItem); diff --git a/Code/DDevExtensions/Source/FormDesignerHelpers/FrmeOptionPageFormDesigner.dfm b/Code/DDevExtensions/Source/FormDesignerHelpers/FrmeOptionPageFormDesigner.dfm index 471c1c6..844ce24 100644 --- a/Code/DDevExtensions/Source/FormDesignerHelpers/FrmeOptionPageFormDesigner.dfm +++ b/Code/DDevExtensions/Source/FormDesignerHelpers/FrmeOptionPageFormDesigner.dfm @@ -2,15 +2,25 @@ inherited FrameOptionPageFormDesigner: TFrameOptionPageFormDesigner Width = 372 Height = 175 ParentFont = False + ExplicitWidth = 372 + ExplicitHeight = 175 inherited pnlClient: TPanel Width = 372 Height = 126 + ExplicitWidth = 372 + ExplicitHeight = 126 object cbxActive: TCheckBox Left = 8 Top = 8 Width = 113 Height = 17 Caption = '&Active' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False TabOrder = 0 OnClick = cbxActiveClick end @@ -20,6 +30,12 @@ inherited FrameOptionPageFormDesigner: TFrameOptionPageFormDesigner Width = 313 Height = 17 Caption = 'Set TLabel.Margins.Bottom to zero' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False TabOrder = 1 end object chkRemoveExplicitProperties: TCheckBox @@ -28,17 +44,30 @@ inherited FrameOptionPageFormDesigner: TFrameOptionPageFormDesigner Width = 313 Height = 17 Caption = 'Do not store the Explicit* properties into the DFM' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False TabOrder = 2 end end inherited pnlDescription: TPanel Width = 372 + ParentFont = False + ExplicitWidth = 372 inherited bvlSplitter: TBevel Width = 372 + ExplicitWidth = 372 end inherited lblDescription: TLabel - Width = 212 + Width = 348 + Height = 25 Caption = 'Configure the form designer enhancements.' + ParentFont = False + ExplicitWidth = 348 + ExplicitHeight = 25 end end end diff --git a/Code/DDevExtensions/Source/FrmeBase.dfm b/Code/DDevExtensions/Source/FrmeBase.dfm index 5724ba6..ddc1b5e 100644 --- a/Code/DDevExtensions/Source/FrmeBase.dfm +++ b/Code/DDevExtensions/Source/FrmeBase.dfm @@ -33,19 +33,26 @@ object FrameBase: TFrameBase object lblDescription: TLabel Left = 16 Top = 24 - Width = 63 + Width = 73 Height = 13 Caption = 'lblDescription' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Segoe UI' + Font.Style = [] + ParentFont = False end object lblCaption: TLabel Left = 16 Top = 8 - Width = 56 + Width = 54 Height = 13 Caption = 'lblCaption' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 + Font.Name = 'Segoe UI' Font.Style = [fsBold] ParentFont = False end diff --git a/Code/DDevExtensions/Source/ProjectSettings/FrmProjectSettingsSetVersioninfo.pas b/Code/DDevExtensions/Source/ProjectSettings/FrmProjectSettingsSetVersioninfo.pas index 5f56bd5..3390edf 100644 --- a/Code/DDevExtensions/Source/ProjectSettings/FrmProjectSettingsSetVersioninfo.pas +++ b/Code/DDevExtensions/Source/ProjectSettings/FrmProjectSettingsSetVersioninfo.pas @@ -806,6 +806,7 @@ procedure TFormProjectSettingsSetVersioninfo.edtFileVersionExit(Sender: TObject) procedure TFormProjectSettingsSetVersioninfo.FormCreate(Sender: TObject); begin + inherited; FIcon := TIconResource.Create; dtpStartDay.Date := Date; pgcPages.ActivePageIndex := 0; diff --git a/Shared/IDE/FrmBase.dfm b/Shared/IDE/FrmBase.dfm index 289e09b..4b84fdb 100644 --- a/Shared/IDE/FrmBase.dfm +++ b/Shared/IDE/FrmBase.dfm @@ -2,15 +2,14 @@ object FormBase: TFormBase Left = 192 Top = 114 Caption = 'FormBase' - ClientHeight = 302 - ClientWidth = 477 + ClientHeight = 284 + ClientWidth = 467 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] - OldCreateOrder = False - PixelsPerInch = 96 + OnCreate = FormCreate TextHeight = 13 end diff --git a/Shared/IDE/FrmBase.pas b/Shared/IDE/FrmBase.pas index a077d46..c43c9b2 100644 --- a/Shared/IDE/FrmBase.pas +++ b/Shared/IDE/FrmBase.pas @@ -13,10 +13,11 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, - Dialogs; + Dialogs, Vcl.Themes, Vcl.Styles; type TFormBase = class(TForm) + procedure FormCreate(Sender: TObject); private { Private-Deklarationen } protected @@ -131,6 +132,19 @@ procedure TFormBase.DoShow; SetControlFonts(Self); end; +procedure TFormBase.FormCreate(Sender: TObject); +var + StyleName: string; +begin + {$IF CompilerVersion >= 33.0} // 10.3 Rio+ + for StyleName in TStyleManager.StyleNames do + begin + if StyleName.StartsWith('Win10IDE_') then + self.StyleName:= StyleName; + end; + {$ENDIF} +end; + function TFormBase.ShowModal: Integer; var HintClass: THintWindowClass; diff --git a/Shared/IDE/Options/FrmTreePages.pas b/Shared/IDE/Options/FrmTreePages.pas index d8e0a04..7d38804 100644 --- a/Shared/IDE/Options/FrmTreePages.pas +++ b/Shared/IDE/Options/FrmTreePages.pas @@ -287,6 +287,7 @@ procedure TFormTreePages.PopulateTreeNodes; procedure TFormTreePages.FormCreate(Sender: TObject); begin + inherited; btnOk.Anchors := [akBottom, akRight]; btnCancel.Anchors := [akBottom, akRight];