![]() |
Form Position beim Programmstart setzen
Hallo,
an welcher Stelle in D11.2 kann ich Left und Top meines Hauptfensters zur Laufzeit setzen um das Fenster zu positionieren? Im OnCreate und OnShow hat es nicht geklappt. Wie muss .Position eingestellt sein? Ändern von Width und Height im klappt. Grüße TurboMagic |
AW: Form Position beim Programmstart setzen
Stell sicher das Position auf poDesigned steht dann sollte es im OnCreate eigentlich keine Probleme geben.
//edit Gerade getestet, funktioniert.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin Self.Position := poDesigned; Self.Left := 500; Self.Top := 500; end; |
AW: Form Position beim Programmstart setzen
Probiere ich nachher! Danke!
|
AW: Form Position beim Programmstart setzen
Je nach Position behandelt die VCL das unterschiedlich.
teileise wird Left/Top/Monitor dann im/nach dem Contruktor überschrieben, oder vor oder nach deinem OnShow bzw. auch OnActivate. poDesigned sagt = ALLES wie ich es sage ... such/änder DU böse VCL nichts |
AW: Form Position beim Programmstart setzen
Hallo,
FormActivate sollten immer klappen ... |
AW: Form Position beim Programmstart setzen
Zitat:
Das wird nicht nur einmal ausgeführt, so dass man sich dann noch merken muss, dass der erste Aufruf schon erfolgt war. Deshalb würde ich das für solche "Nach Start und Formanzeige"-Aktionen auch nicht empfehlen. Besser ist, wenn man sich selbst z.B. im OnCreate per PostMessage eine Nachricht schickt. Die wird dann auch nach dem Starten verarbeitet, aber eben ganz von alleine nur einmal und außerhalb der internen Formularlogik. Für diesen Zweck hier ist das aber gar nicht nötig, wie ja schon geschrieben wurde. |
AW: Form Position beim Programmstart setzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 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 by Thomas Breitkreuz