Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi nochmal MDI (https://www.delphipraxis.net/9968-nochmal-mdi.html)

isabell 8. Okt 2003 17:56


nochmal MDI
 
Hallo Leute,

Habe MDI-Hauptform mit Menü durch das die verschiedenen Clients_Forms geladen werden können.

mit

Form2.Show;

lade ich die 1. Client-Form. Der nächste Menüpunkt lädt Form3 usw.

Wie schließe ich aber vorm Laden der Form die aktuelle Form ?

Vielen Dank für Eure Hilfe !
Isabell

Christian Seehase 8. Okt 2003 18:11

Re: nochmal MDI
 
Moin Isabell,

wenn Du im OnClose Event des MDI Child Fensters Action := caFree eingibst, wird das Fenster wieder zerstört.
Es muss also nur für das gerade geöffnete Fenster close aufgerufen werden.
Wenn immer nur ein MDIChild vorhanden ist, müsste sich dieses dann mit MDIChildren[0].Close erreichen lassen.

isabell 8. Okt 2003 20:51

Re: nochmal MDI
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Chris,

jetzt bin ich schon ein Stück weiter ...

MDIChildren[0].Close hat nicht wirklich geholfen, weil ich einen Denkfehler gemacht habe,
wenn die Form gelöscht wird, kann ich sie nicht mehr benutzen ...

folgender Stand:
Programm startet, Forms werden perfekt in Hauptform eingepaßt (bei onShow ->
SendMessage(self.Handle,WM_SYSCOMMAND,SC_MAXIMIZE, 0);)
und übereinander geladen, ich kann auch über die Menüpunkte anwählen, aber wenn ich
unter BorderIcons alles auf FALSE setze, sind die Forms wieder verkleinert, die BorderIcons
müssen aber ausgeschaltet sein.

Habe das Bsp. mal angehangen.

Bin für jeden Tip dankbar !!!


Gruß
Isabell

Dagon 8. Okt 2003 21:01

Re: nochmal MDI
 
Probiers mal in dem du unter BorderIcons von Form2 und 3 alle auf False setzt und ins OnActivate-Ereignis der beiden SendMessage(Form2.Handle,WM_SYSCOMMAND,SC_MAXIMIZE ,0) bzw SendMessage(Form3.Handle,WM_SYSCOMMAND,SC_MAXIMIZE ,0) schreibst.

Christian Seehase 8. Okt 2003 21:43

Re: nochmal MDI
 
Moin Isabell,

ich frag' mich langsam, ob MDI wirklich das richtige für Dein Programm ist.
Du könntest ja auch alles auf Panels (Align = alClient) legen, wobei Du dann mit den Menüpunkten eines auf visible = true, die anderen auf visible = false setzt.

phlux 9. Okt 2003 00:11

Re: nochmal MDI
 
Da würde sich dann allerdings auch die TNotebook Komponente auf dem Win 3.1 Karteireiter empfehlen, find ich eleganter als das ganze mit Panels zu realisieren, ich hätte deswegen schon früher meinen Pseudo-Info Lehrer erwürgen können :mrgreen:

Christian Seehase 9. Okt 2003 00:48

Re: nochmal MDI
 
Moin Phlux,

kommt auch darauf an, was man vorhat.
Ich weiss nicht, ob's das bei D3 schon gab, aber statt TNotebook würde ich lieber TPageControl nehmen.

phlux 9. Okt 2003 08:56

Re: nochmal MDI
 
Sicher hat D3 schon TPageControl :cool: bis jetzt vermisse ich nur die TAcionList und das man keine Icons ins MainMenu mehr packen kann, naja.
Also ein PageControl bietet sich natürlich auch an, ich habe mir jetzt die Source nicht angesehen, kommt drauf an was sie jetzt machen will, wollte halt nur sagen, dass man bei deinem Vorschlag dann eher dir Notebook Komponente anbietet, weils einfacher ist. Egal muss sie ja wissen :zwinker:

mfg dasgutenmorgenphluphie :hi:

isabell 10. Okt 2003 15:01

Re: nochmal MDI
 
habe mir alles mal angeschaut und mich für Panels entschieden, das war das was ich suchte ...
(habe mir jetztauch mal ein Delphi-Buch gekauft)

nochmals vielen Dank für Eure Hilfe
Isabell


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