Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit GetWindowplacement (maximierte Fenster) (https://www.delphipraxis.net/96610-problem-mit-getwindowplacement-maximierte-fenster.html)

Neroazzuro 27. Jul 2007 12:26


Problem mit GetWindowplacement (maximierte Fenster)
 
Folgende Problemstellung:

Ich arbeite an einem Tickerprogramm. Dieses nimmt sich neue Infos aus einer DB und zeigt sie im Lauftext, am oberen Bildschirmrand an. Der Platz oben wird für eine Application Bar freigegeben. Ist die Nachricht eine best. Zeit durchgelaufen, verschwindet die AppBar, die Form wird minimiert und taucht erst wieder aus, wenn eine neue Nachricht in der DB steht.
Beim Einblenden der Bar, wird die Bildschirmfläche verkleinert, maximierte Programme werden in der neuen Fläche maximiert angezeigt und nach Ablaufen des Tickers wieder auf der gesamten Fläche. Nicht maximierte Fenster, die sich in dem Bereich befinden, wo die AppBar bei neuer Nachricht auftaucht, werden ans untere Ende der Bar geschoben.

Diese sollen nach Ablaufen aber wieder dorthin wo sie vorher waren.

Dazu speichere ich alle Fensterhandles und alle Positionen (mithilfe von GetWindowPlacement) in Arrays und nach Ablauf des Tickers, will ich wieder alle Fenster auf ihre ursprüngliche Position setzen.

Dazu verwende ich SetWindowPos. Das funktioniert soweit ganz. Nicht maximierte Fenster rutschen dorthinzurück, wo sie hingehören. Das Problem sind die maximierten Fenster. Von diesen nimmt sich GetWindowPlacement nämlich die Koordinaten, die sie verkleinert hätten.

SetWindowPos interessiert sich hierfür recht wenig und verschiebt das zuvor maximierte Fenster irgendwo auf den Screen (dort wo es verkleinert gewesen wäre).

Nun meine Frage:
-Gibt es eine Alternative zu GetWindowPlacement, dass die echten Koordinaten einließt oder
-Eine Möglichkeit (als Gegenstück zu IsIconic), mit dem man prüfen kann, ob ein Fenster maximiert ist

Meine Suche verlief leider erfolglos.

Vielen Dank schonmal!

Neroazzuro 27. Jul 2007 12:47

Re: Problem mit GetWindowplacement (maximierte Fenster)
 
Wie verhext, nach einer Stunde Suche, poste ich, dann finde ich 5 Minuten später!!

Mit IsZoomed konnte ich mein Problem lösen!

Dennoch danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz