Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form Position macht Probleme (https://www.delphipraxis.net/212022-form-position-macht-probleme.html)

zeras 4. Dez 2022 14:40

Form Position macht Probleme
 
Ich habe ein Hauptformular, welches mit ShowModal ein Eingabefester anzeigt. Wenn das geschlossen ist, wird wieder das Hauptfenster angezeigt. Das geht soweit. Wenn ich dann aber das Hauptfenster verschiebe und danach das Eingabefenster wieder mit ShowModal anzeige, wird es nicht in der Mitte des Hauptfensters angezeigt, sondern in der Mitte, wo das Hauptfenster vorher war.
Ich habe bei
Delphi-Quellcode:
Position
schon die Werte poMainFormCenter und poOwnerFormCenter probiert. Aber es klappt nicht, dass das Eingabefenster in der Mitte des Hauptfensters erscheint.
Geht das nicht oder mache ich etwas falsch?

jaenicke 4. Dez 2022 14:55

AW: Form Position macht Probleme
 
Diese Position wird nur einmal beim Erstellen des Fensters errechnet. Wenn du dieses nicht jedesmal neu erstellst, sondern es nur unsichtbar wird, wird die Position nicht neu berechnet, wenn du es erneut anzeigst.

zeras 4. Dez 2022 15:04

AW: Form Position macht Probleme
 
Danke für die Info.
Das heißt, dass ich mir beim erneuten Anzeigen die Position wieder manuell errechnen muss?

himitsu 4. Dez 2022 15:21

AW: Form Position macht Probleme
 
Man könnte natürlich die Instanz des Dialogs immer dann neu erstellen, bevor er angezeigt wird. :stupid:
(und danach wieder freigeben)


Zitat:

Diese Position wird nur einmal beim Erstellen des Fensters errechnet
Noch schlimmer, je nach Modus wird es hier oder da oder geteilt (hier und da) berechnet.

TCustomForm.CreateParams (oft noch vor OnCreate, aber manchmal auch mittendrinn), TCustomForm.SetWindowToMonitor und TCustomForm.CMShowingChanged



Alternativ: Vor dem Show/ShowModal mit DestroyWindowHandle rumzupfuschen, ... das will doch niemand :freak:

hoika 5. Dez 2022 06:31

AW: Form Position macht Probleme
 
Hallo,
wie schon geschrieben:
Erzeuge das Eingabefe stet jedes Mal dynamisch und gib es immer wieder frei.

zeras 18. Dez 2022 10:44

AW: Form Position macht Probleme
 
Danke für euren Tipp.
Ich erstelle nun das Eingabeformular dynamisch und alles ist schön.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 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