Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Delphi 11 mit High DPI -> Formulare werden doppelt skaliert

  Alt 17. Sep 2021, 10:42
Leg doch bitte mal eine Kopie der Vcl.Forms.pas in dein Projektverzeichnis (da wo die dpr liegt). Dann ändere die Zeilen 4352 bis 4356 mal so ab, dass die Schleife nicht über Controls sondern über Components geht.

vorher:
Delphi-Quellcode:
        for var I := 0 to ControlCount - 1 do
        begin
          TControlClass(Controls[I]).ChangeScale(FCurrentPPI, FCurrentPPI, True);
          TControlClass(Controls[I]).ScalingFlags := ScalingFlags;
        end;
nachher:
Delphi-Quellcode:
        for var I := 0 to ComponentCount - 1 do
        begin
          if not (Components[I] is TControl) then Continue;
          TControlClass(Components[I]).ChangeScale(FCurrentPPI, FCurrentPPI, True);
          TControlClass(Components[I]).ScalingFlags := ScalingFlags;
        end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat