Ich beantworte mir das mal selber,
das scheint nicht wirklich in dem Code zu liegen. Wenn man die Unterstützung für DPI deaktiviert, passen die Breiten.
Delphi-Quellcode:
procedure TMenuView.SetBounds(X, Y, AWidth, AHeight: Single);
{$IFDEF MSWINDOWS}
var
ScreenService: IFMXScreenService;
Scale: Single;
{$ENDIF}
begin
{$IFDEF MSWINDOWS}
if GlobalUseGPUCanvas then
begin
if TPlatformServices.Current.SupportsPlatformService (IFMXScreenService, IInterface(ScreenService)) then
begin
Scale := ScreenService.GetScreenScale;
AWidth := AWidth * Scale;
AHeight := AHeight * Scale;
end;
end;
{$ENDIF}
inherited SetBounds(X, Y, AWidth, AHeight);
end;
Im Prinzip hilft obiger Code, aber das scheint nicht korrekt.
Christian