Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Childfenster ohne MDI (https://www.delphipraxis.net/14939-childfenster-ohne-mdi.html)

Jacki O 18. Jan 2004 17:00


Childfenster ohne MDI
 
Hi,

ich schreibe an einem Prog, das ein Hauptformular und mehrere Childformulare hat.
Sowas wie MDI, allerdings als SDI. Die Childformulare befinden sich auf einer Panel-Komponente des Hauptformulars.
Wenn im Hauptformular auf einen Toolbutton gedrückt wird, wird das entsprechende Child erzeugt und dargestellt.
Wie kann ich nun testen, ob ein Child bereits existiert ? Wie kann das Hauptformular feststellen, das ein Child geschlossen wurde ?
Mit der API-Funktion GetWindow und FindWindowEx habe ich dieses zwar hinbekommen, doch dauert das zu Lange,
da alle Handles der Kompnenten durchlaufen werden, bis das Fensterhandle des gesuchten Childformulars gefunden wurde.

Gruß Jacki

MrKnogge 18. Jan 2004 17:08

Re: Childfenster ohne MDI
 
Nimm doch eine Varianle vom Typ boolean, wenn du ein Child erzeugst setzt du diese true, wenn du es wieder schliest auf false ...

phlux 18. Jan 2004 17:14

Re: Childfenster ohne MDI
 
Edit: :oops: hab grade bemerkt das ich end am Thema vorbeigeredet hab, so auf die schnelle würd ich auch MrKnogges Vorschlag befürworten ;)

MrKnogge 18. Jan 2004 17:17

Re: Childfenster ohne MDI
 
Ich glaub das Child erzeugen hatt er schon hinbekommen :wink:

Jacki O 18. Jan 2004 19:32

Re: Childfenster ohne MDI
 
Hi,

danke, die Sache mit dem Flag scheit einfach und vor allem schnell zu sein.
Gibt es sonst noch möglichkeiten ?

Gruß Jacki

phlux 18. Jan 2004 20:35

Re: Childfenster ohne MDI
 
Definierst dir Handles und beim Erstellen des Fensters weißt du einem deiner Handles das Handle des Fensters zu jetzt brauchst du nur noch gucken ob das Handle nil ist wenn nicht gibts das Fenster schon, so hast du gleich nen Handle noch dabei und weißt ob das Fenster existiert oder nicht.
Und nicht vergessen beim Destroyen des Fensters das Handle wieder zu löschen ;)

Robert_G 18. Jan 2004 21:03

Re: Childfenster ohne MDI
 
Was hast du gegen MDI?
Ich finde es ziemlich praktisch & user-freundlich.
TileMode (horizontal, vertical) & Cascade sind einfach genial -> damit kann sich der User seine "Arbeitsfläche" schön aufräumen.

Jacki O 19. Jan 2004 08:25

Re: Childfenster ohne MDI
 
Moin zusammen,

Zitat:

Was hast du gegen MDI?
Ich habe nichts dagegen, finde das ist einfach zu handeln und so weiter.
Beim Suchen in diversen Foren bin ich jedoch über mehrere Einträge gestolpert, die da besagen das MDI nicht weiter gefördert wird. Da es wohl auch ein Paar Probleme gibt, wollte ich von Anfang an einen andern, sicheren Weg gehen. :-D

Gruß Jacki


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 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