Registriert seit: 19. Feb 2007
Ort: In der Lüneburger Heide
165 Beiträge
Delphi 10.4 Sydney
|
Re: Gespeicherter windowState (wsMaximized) maximiert nicht
9. Feb 2010, 15:44
Hallo Eric,
vielen Dank für den Tipp mit der Komponente. Habe diese im "TSavePosForm" im OnCreate dynamisch erzeugt, da ich sie nicht für alle xx-Formulare visuell einfügen wollte. Das hat leider nicht funktioniert, da sie sich genau dort wohl auch einklinken will um ihre Save/Restore Aktionen durchzuführen.
Ich habe nach einem rumprobieren jetzt doch einen Weg gefunden, im Prinzip geht er in die Richtung des o.a. englischen Links. Ich merke mir im OnCreate den WindowState und arbeite ihn im OnActivate einmalig ab. Mein Fehler bei meinen ersten Versuchen damit war nur, dass das Fenster nicht mehr reagiert, wenn man wsMaximized vorher schon einmal im OnCreate zugewiesen hat. Dann reagiert das Fenster auf nichts mehr (OnActivate oder Testbutton zum Maximieren). Unterlässt man die Zuweisung, dann klappt das Maximieren im OnActivate anschliessend.
Und wenn meine Recherchen richtig waren, dann kommt das Problem wohl eher selten vor und auch nur, wenn viele Komponenten / Align / Splitter usw. sich in die Quere kommen und das Formular mit seinen Aktionen nicht fertig wird.
Bei dieser Gelegenheit habe ich auch gleich GetWindowPlacement(xForm.Handle, PosAndSize) eingebaut, damit kommt man jetzt auch an die Werte im maximierten Modus heran, ohne das Fenster verkleinern zu müssen.
Thread kann somit auf erledigt, Gruss Carsten
Carsten
|