Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Alle MDI-Child-Fenster schließen
colaka - Fr 03.07.09 07:06
Titel: Alle MDI-Child-Fenster schließen
Hallo,
ich habe eine Anwendung mit mehreren MDI-Childfenstern und möchte, daß beim Öffnen eines ganz bestimmten Childfensters alle anderen Childfenster geschlossen werden, falls überhaupt eines geöffnet ist.
Gibt es so einen allgemeinen Befehl, mit dem man alle eventuell geöffneten Childfenster schließen kann?
Danke Ebi
jaenicke - Fr 03.07.09 10:51
Da musst du schon selbst alle durchgehen und alle anderen schließen, also so ungefähr.
Delphi-Quelltext
1: 2: 3:
| for i := MDIChildCount - 1 downto 0 do if MDIChildren[i] <> ... then MDIChildren[i].Close; |
ffgorcky - Fr 03.07.09 13:47
Also ich bin auf dem MDI-Gebiet eigentlich noch unbewandert, aber ich denke mal, dass doch die Child-Fenster auch alle einen Namen haben, also müsste das dann so gehen (die Lösung von
jaenicke nur leicht abgewandelt):
Delphi-Quelltext
1: 2: 3:
| for i := MDIChildCount - 1 downto 0 do if not MDIChildren[i].Name=offenzulassendesFenster then MDIChildren[i].Close; |
Das Ganze müsste ja aber auch mit (hoffentlich eindeutigen!) Fenstertiteln gehen:
Delphi-Quelltext
1: 2: 3:
| for i := MDIChildCount - 1 downto 0 do if not MDIChildren[i].Title=titelDesOffenzulassendenFensters then MDIChildren[i].Close; |
Damit könntest Du dann den Benutzer einen offenzulassenden Fenstertitel auswählen lassen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!