AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Delphi 11.2 Patch 1 – immer noch Probleme mit High DPI?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 11.2 Patch 1 – immer noch Probleme mit High DPI?

Ein Thema von det33 · begonnen am 24. Okt 2022 · letzter Beitrag vom 25. Okt 2022
Antwort Antwort
det33

Registriert seit: 26. Sep 2011
Ort: Bielefeld
12 Beiträge
 
Delphi 12 Athens
 
#1

Delphi 11.2 Patch 1 – immer noch Probleme mit High DPI?

  Alt 24. Okt 2022, 17:09
Hi,

ich entwickle auf einem System mit einem 5K Monitor (5120x2160 – Skalierung 150%). Bei Delphi ist unter High DPI „Automatic (Screen PPI)“ gewählt. Bei neuen VCL-Formularen wird PixelsPerInch = 144 gesetzt.

Bei einer kleinen Testanwendung habe ich auf einem Formular:

• eine TCategoryPanelGroup mit einem Panel und darauf 3 TLabel- und 3 TEdit-Komponenten
• ein TDBCtrlGrid, ebenfalls mit 3 TLabel- und 3 TDBEdit-Komponenten
• ein TPanel, ebenfalls mit 3 TLabel- und 3 TEdit-Komponenten

Bei den Projektoptionen ist „Über Monitor v2“ gewählt.

Auf meinem System wird das Formular durch das fertige Programm wie im Bild1 angezeigt.

Auf einem anderen System mit 1920x1080 – Skalierung 100% wird das Formular wie im Bild2 angezeigt.

Bei dem Panel mit den Labels 4-6 und den Edit-Komponenten wird das Formular richtig skaliert. Bei dem CategoryPanel und bei dem DBCtrlGrid werden die Labels und die Edit-Komponenten falsch bzw. gar nicht skaliert. Besonders auffällig ist dies bei den Edit-Komponenten, wo ParentFont = false ist und Style = fsBold gewählt wurde. Bei dem „normalen“ Panel passiert dies nicht.

Hat jemand ähnliche Erfahrungen bzw. gibt es immer noch Probleme mit der Skalierung unter High DPI?
Miniaturansicht angehängter Grafiken
bild1.jpg   bild2.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi 11.2 Patch 1 – immer noch Probleme mit High DPI?

  Alt 24. Okt 2022, 17:26
Es gibt in der Tat immer noch Probleme bei Controls mit ParentFont = False. Wenn du da einen Fall reproduzieren kannst, solltest du dafür einen Bugreport anlegen.

Als Workaround habe ich mir für Controls mit abweichenden Font-Eigenschaften (Farbe, Style) einen Helper geschrieben, den ich nach einem DPI-Change mit den passenden Werten aufrufe.
Delphi-Quellcode:
type
  TControlHelper = class helper for TControl
  public
    procedure SetFontColorStyle(AColor: TColor; AStyle: TFontStyles);
  end;

...

procedure TControlHelper.SetFontColorStyle(AColor: TColor; AStyle: TFontStyles);
begin
  ParentFont := True;
  if AColor <> clNone then
    Font.Color := AColor;
  Font.Style := AStyle;
end;

...

  pnlDirCaption.SetFontColorStyle(clNone, [TFontStyle.fsBold]);
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
det33

Registriert seit: 26. Sep 2011
Ort: Bielefeld
12 Beiträge
 
Delphi 12 Athens
 
#3

AW: Delphi 11.2 Patch 1 – immer noch Probleme mit High DPI?

  Alt 25. Okt 2022, 15:08
Danke für den Hinweis mit dem Helper. Da die Position auf dem Formular dann immer noch falsch ist, werde ich wohl notgedrungen bei der 96 DPI-Einstellung in der Arbeitsumgebung bleiben. Bugreport ist auf dem Weg.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz