Autor Beitrag
Andi1982KA
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 12.10.02 14:53 
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:

ausblenden 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!

_________________
Bald kann ichs allein ;-)
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Sa 12.10.02 15:16 
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 Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Sa 12.10.02 15: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

_________________
Bald kann ichs allein ;-)
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Sa 12.10.02 23: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:
ausblenden 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:
ausblenden Quelltext
1:
  ModalResult := mrOk;					

Damit wird 1. Das Fenster unsichtbar gemacht, 2. die Sperrung deines Programmes aufgehoben und 3. das ergebnis mrOk zurückgeliefert.
Mit
ausblenden Quelltext
1:
  ModalResult := mrCancel;					

Kannst du den Abrechen Knopf realisieren.

Gruß
Klabautermann
Andi1982KA Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: So 13.10.02 14:29 
Titel: Vielen Dank
Vielen Dank,
hast mir wirklich sehr geholfen!!!

Also bis zu meinem nächsten problem :D

Gruss Andi

_________________
Bald kann ichs allein ;-)