Ist das Problem in der 10er immer noch drin? Unfassbar.
Du musst dich um die Skalierung selbst kümmern.
Setze die Property "Scaled" der Form auf False.
Danach berechnest du den Skalierungsfaktor und machst selbst ein ScaleBy im OnCreate der Form.
Für den Skalierungsfaktor habe ich mir eine kleine Funktion geschrieben:
Delphi-Quellcode:
Function GetScaleFactor : Integer;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create(KEY_READ);
try
if Reg.OpenKeyReadOnly('\Control Panel\Desktop') then
begin
if Reg.ValueExists('LogPixels') then
Result := Reg.ReadInteger('LogPixels')
else
Result := 96;
end
else
begin
Result := 96;
end;
Reg.CloseKey;
Result := Round(Result * 100 / 96);
finally
Reg.Free;
end;
end;
Im OnCreate steht dann:
ScaleBy(GetScaleFactor, 100);
Das hat bei mir bisher immer gut funktioniert.