![]() |
TMainMenu mit aktiviertem GlobalUseGPUCanvas
Hallo,
kann jemand mal bitte folgendes Gegentesten? GlobalUseGPUCanvas auf True setzen und ein einfaches Menü mit ein paar Untereinträgen auf das Hauptform setzen. Die Menüs werden abgeschnitten und zwar je mehr Root-Menüeinträge sind, desto kürzer werden die Untermenüs. Das Problem scheint in FMX.Menus unter procedure TMenuView.DoRealign; zu liegen und zwar hier: ContentR.BottomRight := TPointF.Create(Self.Width (*- P.X*), Self.Height - P.Y)); Wenn ich -P.X ausklammere funktioniert das Menü wie es soll. Das ganze tritt allerdings nur auf, wenn ich einen eigenen Style benutze. Ich fürchte das hat mit dem contentlayout zu tun. Das wird wohl nicht richtig berechnet. |
AW: TMainMenu mit aktiviertem GlobalUseGPUCanvas
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:
Im Prinzip hilft obiger Code, aber das scheint nicht korrekt.
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; Christian |
AW: TMainMenu mit aktiviertem GlobalUseGPUCanvas
Du hattest übrigens auch vergessen anzugeben welche Delphi version du benutzt.
In 11.0 haben Sie bei FMX gerade unter Windows von Pixelkoordinaten auf DP umgestellt. |
AW: TMainMenu mit aktiviertem GlobalUseGPUCanvas
Stimmt, mein Fehler ich nutze Delphi 11 (inkl. Oktober und November Patch). Hi-DPI geht mit Firemonkey auch unter Windows ganz gut, nur das Menü will bei aktivierter GloalUseGPUCanvas nicht richtig. Deswegen der obige Workaround. Was halt unschön ist, da man jedesmal eine lokale Kopie der jeweiligen Datei im Projektordner mitführen muss.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz