![]() |
Die Z-Ordnung innerhalb eines Programms feststellen
Ich hab ein Programm das aus vielen Fenster besteht und sie alle sind während der Ausführung eingeblendet. Wird ein Fenster angetippt, kommt es in den Vordergrund. Soweit alles klar. Und weil die Reihenfolge nicht unwichtig ist, will ich sie beim Beenden des Programms speichern und später wiederherstellen.
Die Handles der Fenster habe ich, jetzt fehlt mir die Z-Ordnung. Ich weiß nur von der API Variante, allerdings würde ich gerne bei dem Programm auf die API-Funktionen verzichten. Kennt einer eine Methode wie man die Z-Ordnung intern ermitteln kann? Es geht hier nur um die Fenster der Applikation, nicht sonstiger Komponenten. |
Re: Die Z-Ordnung innerhalb eines Programms feststellen
und wenn du über FindWindowEx gehst, und mit dem obersten Fenster anfängst? Ich glaube dann solltest du die gewünschte Reiehnfolge auslesen können anhand der FensterHandles? :?:
|
Re: Die Z-Ordnung innerhalb eines Programms feststellen
Warum möchtest du nicht die API Variante nehmen? z.B
![]() |
Re: Die Z-Ordnung innerhalb eines Programms feststellen
Warum sollte er die Api-Variante welche nicht objektorienter ist in seinem VCL-Projekt was in aller Regel objectorientiert ist verwenden wenn es eventuell auch eine Lösung mit der VCL gibt?
|
Re: Die Z-Ordnung innerhalb eines Programms feststellen
Zitat:
Na gut, wenn es nicht anders geht, dann werde ich es über API machen müssen. Dann frage ich mal bei der Gelegenheit: wie kann ich mit GetWindow die Fenster, und nur die Form-Fenster, meiner Anwendung auflisten? Bei
Delphi-Quellcode:
kommt ziemlich viel zurück. Und IsWindow filtert auch nicht viel.
h := GetWindow(Application.Handle, GW_HWNDFIRST);
while h > 0 do begin h := GetWindow(h, GW_HWNDNEXT); end; |
Re: Die Z-Ordnung innerhalb eines Programms feststellen
Hallo,
eine Liste der Forms?:
Delphi-Quellcode:
var s : String;
z : Integer; begin for z := 0 to Screen.FormCount -1 do begin s := s + Screen.Forms[z].Name+#13#10; end; showmessage(s); |
Re: Die Z-Ordnung innerhalb eines Programms feststellen
Lannes, du bist cool. Genau das habe ich gesucht. Ich dachte mir, daß es einen internen Manager geben muß. Screen.Forms liefert die Formulare mit der korrekten Z-Ordnung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 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