Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

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

  Alt 2. Nov 2016, 21:56
Position wird "nur" beim Anzeigen (Show, bzw. kurz nach dem Create) ausgewertet und dementsprechend werden Top und Left gesetzt.
Die Position soll nicht ausgewertet, sondern nach Änderung sofort gesetzt werden, d.h., wenn die Positionsvariable des betreffenden Formulares einen neuen Wert zugewiesen bekommet, soll die Position des Formulares auf dem Bildschirm entsprechend gesetzt, angepaßt, verschoben werden! Dieses Verhalten kenne ich jedenfalls seit Delphis Urzeiten von den VCL-Formularen so. Welchen Sinn hat denn sonst das Verändern der Positionsvariablen zur Laufzeit?!

Um mal mein Anliegen etwas zu verdeutlichen, erstellte ich ein Beispielprojekt inkl. Compilat (Anhang). Ich bemühte mich, es so klein wie möglich zu machen (32 Bit, release, 7zip-Komprimierung, die auch von Winrar gelesen werden kann).

Man kann auf jeden beliebigen Button klicken, es tut sich überhaupt nichts mit einer anderen Positionierung des FMX-Formulares. Soll das so sein?

Mit kleinen Änderungen compiliert das Projekt auch mit XE2 und funktioniert dort genausowenig.

Wenn ich Dich recht verstehe, müßte demnach der ButtonClick ein OnShow-Ereignis auslösen, damit das Formular die Positionierung sofort übernimmt, nicht wahr?
Angehängte Dateien
Dateityp: 7z FMX-Formularpositionstest.7z (1,88 MB, 4x aufgerufen)

Geändert von Delphi-Laie ( 2. Nov 2016 um 22:17 Uhr)
  Mit Zitat antworten Zitat