![]() |
AW: Fensterposition persistent machen
Zitat:
Er hat doch geschrieben das er die werte speichert darum geht es doch gar nicht. Sondern darum das die eingelesenen werte beim setzen in OnShow ignoriert werden und Delphi tut was es will. gruss |
AW: Fensterposition persistent machen
Neee, erstmal ist es egal wann die Daten gelesen werden, denn es hängt beim Zuweisen und nicht beim Auslesen.
Und nein, es funktioniert nicht immer. Je nach TForm.Position werden Monitor, Größe und Top/Left zu unterschiedlichen Zeitpunkten von der VCL gesetzt. Wenn man also seine Zuweisung macht und anschließend die VCL das wieder überschreibt, dann hat man ein Problemchen. Einiges wird z.B. schon im Constructor ausgeführt, Anderes im OnShow (aber noch bevor das eigene Event behandelt wird) und wieder Anderes erst danach. Und wann OnCreate ausgeführt wird, dass kann sich auch noch entscheidend auswirken. ( ![]() |
AW: Fensterposition persistent machen
werfe die VCL weg und mache es von Hand.
Delphi-Quellcode:
gruss
SetRect(rc, 0, 0, XMIN_SIZE, YMIN_SIZE);
AdjustWindowRectEx(rc, dwStyle, False, dwExStyle); X := MAX((GetSystemMetrics(SM_CXSCREEN) - rc.Right - rc.Left) div 2, 0); Y := MAX((GetSystemMetrics(SM_CYSCREEN) - rc.Bottom - rc.top) div 2, 0); MainHandle := CreateWindowEx(dwExStyle, myClass, myTitle, dwStyle, X, Y, rc.Right - rc.Left, rc.Bottom - rc.top, 0, 0, wc.hInstance, nil); |
AW: Fensterposition persistent machen
Zitat:
Ich bin davon ausgegangen, dass man anhand des Beispiels erkennt welchen Weg man zur Lösung des Problems noch gehen könnte. Dabei sollte die Positionszuweisung (Top und Left) in OnCreate der eigentliche Hinweis sein. |
AW: Fensterposition persistent machen
Zitat:
|
AW: Fensterposition persistent machen
Zitat:
Zu deiner zweiten Aussage: Lässt sich das irgendwie reproduzieren? |
AW: Fensterposition persistent machen
Zitat:
Zitat:
Ich habe keine Probleme bei allen meinen Anwendungen die x, y Position zu setzen. Das tue ich schon da existiert noch gar kein Window .. und bevor es angezeigt wird. Nebenbei sag mir was du testen willst.. ich brauche keine VCL. Um den Shot klein zu halten NUR 6 meiner Programme. Und wunder sie sitzen da wo sie sitzen sollen. gruss |
AW: Fensterposition persistent machen
Zitat:
|
AW: Fensterposition persistent machen
Zitat:
Würde bei der Mainform keinen Unterschied machen. Aber in einem weiteren erzeugte Fenster (FormB) passt das irgenwie gar nicht. Du liest die Position beim Programmstart ein. Dann öffnest du das FormB schiebst es an eine andere Position und schliesst es wieder. Dann erwarte ich eigentlich, dass dieses FormB bei erneutem Aufruf an der zuletzt geschlossenen Position wieder erscheint. Wird es aber nicht, weil die Position im Initialization beim Start des Programms eingelesen wurde. Hhhmm? |
AW: Fensterposition persistent machen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:29 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