Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
8.143 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Delphi Berlin 10.1 ScaleBy TPageControl

  Alt 21. Jun 2016, 08:44
Der Fehler liegt hier:
Delphi-Quellcode:
procedure TPageControl.ChangeScale(M, D: Integer; isDpiChange: Boolean);
var
  I: Integer;
begin
  inherited ChangeScale(M, D, isDpiChange);
  for I := 0 to FPages.Count - 1 do
    TTabSheet(Fpages[I]).ChangeScale(M, D, isDpiChange);
end;
In dem inherited Aufruf werden die TabSheets bereits skaliert, da diese in Controls des PageControls drin sind und somit von ScaleControls erwischt werden. Die zusätzliche Skalierung muss raus...

Leider lässt sich das auch nicht ganz so einfach fixen... man muss dafür die VMT verbiegen, quasi das Überschreiben der Methode in TPageControl rückgängig machen. Dann sollte alles funktionieren.

// EDIT:
Es gibt bereits eine entsprechende Bugmeldung, die ich soeben mit den Details ergänzt habe:
https://quality.embarcadero.com/browse/RSP-14750
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (21. Jun 2016 um 08:50 Uhr)
  Mit Zitat antworten Zitat