MDI-Anwendung
-
Natürlich brauchst du ein MDI-Parent-Fenster... mit "Der übliche Weg" meinte ich den Weg, dass dein "Hauptformular" ein unabhängiger Dialog (ein weiteres Form) ist...
-junix
-
Nochmal:
Mein Hauptformular ist kein MDI-Formular, sondern FormStyle=Normal. Vom Hauptformular aus lasse ich mir über eine Buttonaktion das MDI-Formular "TEst" anzeigen, in dem dann mehrere Client-Fenster erzeugt werden sollen.
Doch da erscheint eben diese olle Fehlermeldung! Warum?
-
Weil, soviel ich weiss, dein Hauptformular ein MDI-Parent sein muss... Was allerdings klappen könnte: Das Hauptformular beim Starten auf visible=false und nur den Dialog anzeigen und dann, bei bedarf das Hauptformular auf visible=true setzen...
-junix
-
Also muss das HAuptfenster doch ein MDI-Formular sein!
Wenn ich nun also das Hauptfenster und das Formular "Test" als MDI-Formular festgelegt habe, muss es doch möglich sein auch festzulegen, in welchem der beiden die Clients geöffnet werden sollen, oder?
-
also du kannst grundsätzlich als erstes formular ein
fsNormal anlegen woraus du ein MDIForm öffnest
aber zwei MDIForm sind nicht möglich und Child öffnet sich nun mal im MDIForm
also ist die wahl des öffnens der ChildForms nur auf das MDIForm beschränkt
du musst also erst das MDIForm öffnen bevor du ein Child öffnestich sehe aber irgendwie keinen Sinn in dem was du da tust... sorry
-
Das Hauptformular ist nun kein MDI-formular, aber das "Test"-Formular. JEtzt öffne ich das Test-Formular und möchte ein Client-Fenster darin öffnen. Daraufhin erfolgt immer noch die Fehlermeldung: "Formular kann nicht erstellt werden. Zur Zeit sind keine MDI-Formulare aktiv".
Warum??????? Was fehlt??????
-
Original erstellt von teacherwilli:
Das Hauptformular ist nun kein MDI-formular[...]Nochmal zum abzeichnen für analphabeten:
Genau das ist dein problem: Das Hauptformular muss ein MDI-Form sein! Lies oben nochmals durch was ich geschrieben hatte.
-junix
-
Problem ist aber: wenn ich als Hauptformular das "Test"-Formular einstelle hat dies den unerwünschten Nebeneffekt, dass das ganze Programm beendet wird, wenn ich das Test-Formular schließe. Wie kann ich das ändern, dass das Programm nur beendet wird, wenn das ursprüngliche Hauptformular geschlossen wird und nicht das "Test"-Formular?
-
Beim CloseQuery-Event des Test-Formulars CanClose auf false setzen und dafür beim Schliessen des Dialogs Application->Terminate() aufrufen hilft eventuell.
...untested...
-junix
-
Kann ich mein MDI-formular irgendwie (z.B. mit der Komponente PageControl) aufteilen in zwei Bereiche, sodass ich im linken Drittel meine Buttons anordnen kann und im rechten 2/3-Teil (z.B. auf der PageControl-Komponente) meine Clientfenster erstellen kann?