Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Nur ein MDIChild-Fenster der selben sorte öffnen lassen!
Andi1982KA - Sa 12.10.02 13:53
Titel: Nur ein MDIChild-Fenster der selben sorte öffnen lassen!
Hallo,
bin mal wieder dabei mich mit Delphi rumzuschlagen! Ich habe ein Form1 als fsMDI-Form. Über ein Menü hab ich gemacht dass man ein fsMDI-Child öffnen kann:
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.erfassenClick(Sender: TObject); begin TForm2.Create(Self); end;
end. |
In diesem Fenster will ich dass man einstellungen vornehmen kann. Aber wenn ich im Menü nochmal auf einstellungen geh wird das selbe Fenster erneut geöffnet!
Kann man dies irgendwie verhindern dass das selbe Fenster öfter geöffnet werden kann??
Vielen Dank schonmal für eure Hilfe!!
Gruss Andi!
Tino - Sa 12.10.02 14:16
Titel: Re: Nur ein MDIChild-Fenster der selben sorte öffnen lassen!
| Andi1982KA hat folgendes geschrieben: |
| In diesem Fenster will ich dass man einstellungen vornehmen kann |
Ich würde mir vielleicht überlegen nicht die Einstellungen in einem MDI-Child-Fenster zu zeigen sondern in einem "normalen" modal geöffneten Fenster.
Gruß
TINO
Andi1982KA - Sa 12.10.02 14:42
Titel: Danke
Danke,
das mit dem "normal" ist eine gute Idee. Aber es ist dann trotzdem noch möglich ins Hauptfenster zu gehen und nochmal das selbe fenster zu öffnen.
Was verstehst du unter modal öffnen? Tschuldingung wenn ich so blöd frag :roll: Kann man das irgendwo einstellen?
Gruss Andi
Klabautermann - Sa 12.10.02 22:35
Hallo,
wenn du ein Fenster "modal" Öffnest, werden alle anderen Fenster deiner Anwendung Blockiert.
Designe hierzu das ensprechende Fenster nicht als MDI-Child sonder als Normales fenster, setze aber Visible auf FALSE. Im Code machst du das dann so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.erfassenClick(Sender: TObject); VAR Options : tForm; begin Options := TForm2.Create(Self); TRY IF (Options.ShowModal = mrOK) THEN // Hier Optionen Speichern FINALLY Options.Free; END: // TRY Finally end; |
Das OK Ereignis deines Form2 muss dann folgende Zeile ais letzte enthalten:
Damit wird 1. Das Fenster unsichtbar gemacht, 2. die Sperrung deines Programmes aufgehoben und 3. das ergebnis mrOk zurückgeliefert.
Mit
Quelltext
1:
| ModalResult := mrCancel; |
Kannst du den Abrechen Knopf realisieren.
Gruß
Klabautermann
Andi1982KA - So 13.10.02 13:29
Titel: Vielen Dank
Vielen Dank,
hast mir wirklich sehr geholfen!!!
Also bis zu meinem nächsten problem :D
Gruss Andi
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!