Ich habe folgende Beispiel TForm1
Form mit zwei Tasten (BitBtn
):Wie kann ich visuelle Vererbung mit hohen dpi-Werten arbeiten?
Zusätzlich habe ich eine zweite Form TForm2
die sich von der ersten Form abgeleitet ist. Die zweite Taste nach links bewegt wird, und eine andere Taste hinzugefügt:
Zur Laufzeit (Windows 7), sieht die zweite Form wie folgt aus:
Wenn ich ändern Schrift Skalierung auf 125%, sieht mein Formular so aus:
Irgendwie hat der neue Knopf die falsche Position und die falsche Größe. Was kann ich dagegen tun?
ich verwendet, um die folgenden .dfm
Dateien (verkürzt):
object Form1: TForm1
Left = 0
Top = 0
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object BitBtn1: TBitBtn
Left = 8
Top = 8
Width = 105
Height = 105
Caption = 'BitBtn1'
end
object BitBtn2: TBitBtn
Left = 359
Top = 8
Width = 105
Height = 105
Caption = 'BitBtn2'
end
end
inherited Form2: TForm2
Caption = 'Form2'
PixelsPerInch = 96
TextHeight = 13
inherited BitBtn2: TBitBtn
Left = 191
Top = 7
ExplicitLeft = 191
ExplicitTop = 7
end
object BitBtn3: TBitBtn
Left = 359
Top = 8
Width = 105
Height = 104
Caption = 'BitBtn3'
end
end
Class-Dateien unverändert bleiben, wie der Designer sie erzeugt. Sie enthalten keinen relevanten Code.
Sie sollten dies an Embarcadero melden, damit sie es beheben können. –
Ich hätte es gemeldet, aber wie sich herausstellt [es ist bereits gemeldet] (https://quality.embarcadero.com/browse/RSP-12971). Eine der lästigsten Konsequenzen, die eine Anmeldung für das Qualitätsportal erfordert, ist, dass Suchmaschinen den Inhalt nicht indexieren können. Obwohl ich das Problem mit meiner ersten Suchanfrage gefunden habe, funktioniert die interne Suchmaschine ordnungsgemäß. – ventiseis
Zusätzlich scheint dies mit 'Delphi 10.1 Berlin' behoben worden zu sein. – ventiseis