Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Position der FMX-Formulare zur Laufzeit verändern (Delphi XE 10.1)

  Alt 3. Nov 2016, 00:55
So ist es. FMX merkt sich in der Formstate-Variable, ob die Form schon mal angezeigt wurde und wenn ja, haben alle nachfolgenden Änderungen für TFormPosition keine Auswirkungen.

Sollte ja aber kein Problem sein, das kurzerhand selbst zu berechnen:

  self.Bounds := Screen.GetDesktopCenterRect(TSize.Create (width, height)); // Für Screencenter

Allerdings ein Hinweis: Das funktioniert unter Delphi 10.1 auf High-DPI-Geräten nicht, wenn unter Projekt, Anwendung, Hochauflösung aktiviert ist (dann funktionieren auch sämtliche ScreenCenter, DesktopCenter usw. zum Start nicht), was man ja wohl als Bug bezeichnen müsste.

Wenn Du also Hochauflösung nutzt, musst Du anschließend noch eine Korrektur für Left und Top, anhand des Skalierungsaktors der Form berechnen.

Geändert von Harry Stahl ( 3. Nov 2016 um 00:57 Uhr)
  Mit Zitat antworten Zitat