![]() |
TEdit default Height 23 - Delphi 11
Hallo zusammen,
mir ist aufgefallen das mit Delphi 11, einige Komponenten in der Höhe angepasst werden. Bei Delphi 10.4 hatte ein TEdit, dass ich frisch auf die Form setze Height := 21, mit Delphi 11 Height := 23. An sich noch nicht problematisch, das blöde ist nur das auch alle bisherigen .DFMs andauernd angepasst werden, wenn ich eine Form aus meinem Projekt öffne werden diese alle mit Height 23 statt 21 geladen. Liegt das an der Skalierung? Kann man das um-/einstellen? Hab auch schon mit Delphi DPI Unaware gestartet, gleiches Verhalten. |
AW: TEdit default Height 23 - Delphi 11
Könnte am geänderten Default-Font liegen: Segoe UI 9pt
|
AW: TEdit default Height 23 - Delphi 11
Zitat:
Kann man die Default-Font ändern? |
AW: TEdit default Height 23 - Delphi 11
Zitat:
Du kannst aber natürlich in jedem Form einen anderen Font einstellen. Das wirkt dann auf alles was ParentFont = True hat. |
AW: TEdit default Height 23 - Delphi 11
Für VCL und FMX gibt es ja zentrale stelleb, wo sowas vorgegeben wird.
Da kann man sich beim Start reinhängen oder später nochmal (bevor die jeweilige Form/Komponente geladen wurde).
Delphi-Quellcode:
//unit Vcl.Graphics;
var // New TFont instances are intialized with the values in this structure: DefFontData: TFontData = ( Handle: 0; Height: 0; Orientation: 0; { No rotation } Pitch: fpDefault; Style: []; Charset : DEFAULT_CHARSET; Name: 'Segoe UI'); procedure InitDefFontData; const sFontSubstitutes = 'SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes'; { do not localize } var Reg: TRegistry; Name: string; begin if TOSVersion.Check(6) then begin DefFontData.Height := -MulDiv(9, ScreenLogPixels, 72); DefFontData.Name := 'Segoe UI'; Exit; end; DefFontData.Height := -MulDiv(8, ScreenLogPixels, 72); if (Win32Platform = VER_PLATFORM_WIN32_WINDOWS) and (GetDefFontCharset = SHIFTJIS_CHARSET) then Name := 'Tahoma'; Reg := TRegistry.Create; try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKeyReadOnly(sFontSubstitutes) then { do not localize } begin Name := Reg.ReadString('MS Shell Dlg 2'); { do not localize } Reg.CloseKey; end; finally Reg.Free; end; if Name <> '' then DefFontData.Name := UTF8EncodeToShortString(Name); end;
Delphi-Quellcode:
//unit FMX.Platform.Metrics.Win;
function TWinMetricsServices.GetDefaultFontFamilyName: string; var NonClientMetrics: TNonClientMetrics; begin if FDefaultFontFamilyName.IsEmpty then begin NonClientMetrics.cbSize := SizeOf(TNonClientMetrics); if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, SizeOf(TNonClientMetrics), @NonClientMetrics, 0) then FDefaultFontFamilyName := NonClientMetrics.lfMessageFont.lfFaceName else if TOSVersion.Check(6) then FDefaultFontFamilyName := 'Segoe UI' else FDefaultFontFamilyName := 'Tahoma'; end; Result := FDefaultFontFamilyName; end; function TWinMetricsServices.GetDefaultFontSize: Single; begin Result := DefaultFontSize; end; |
AW: TEdit default Height 23 - Delphi 11
Zitat:
|
AW: TEdit default Height 23 - Delphi 11
Och, wir haben in der Firma (fast) alle Komponenten abgeleitet
und auch die Forms sind vererbt. Da braucht man dann auch nur an einer Stelle die Defaults anpassen und es ist überall in den Projekten (EXEn/DLLs/BPLs). |
AW: TEdit default Height 23 - Delphi 11
Zitat:
Es wäre Zeit einfach die ganze Anwendung darauf umzustellen. Passt dann von der Schriftgröße besser zum Rest-Windows. |
AW: TEdit default Height 23 - Delphi 11
Zitat:
Zitat:
Dadurch das jetzt aber alle Controls mit Segoe UI 9pt geladen werden, müssten alle Forms angepasst werden. Da sich ja nur die Controls mit Font vergrößern, die anderen aber nicht. Font.Name kann sowieso der User frei wählen und Font.Size wird über interne Anzeigegröße/Skalierung geregelt. Mir war nur wichtig, dass es im Designer aussieht wie vorher ohne das wir alle Formulare anpassen müssen. |
AW: TEdit default Height 23 - Delphi 11
Zitat:
Es wird nicht weg gehen, sondern bleiben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz