Bestehendes Formular in Tabbed Dialog einbinden

Hallo zusammen,

ein Programm, welches schon länger im Einsatz ist und in dieser Zeit viele Veränderungen erfuhr, muss nun umgestaltet werden. Dafür ist es notwendig, verschiedene Eingaben auf unterschiedlichen Eingabemasken vorzunehmen. Dafür bietet sich der Tabbed Dialog quais an. Nun ist es aber so, dass es in dem Programm schon mehrere Formulare gibt. Bisher wurden die per Button ein- und ausgeblendet. Da mindestens zwei weiter Formulare dazukommen, würde die Übersichlichkeit sehr leiden. Mit dem Tabbed Dialog geht das, denke ich, besser.
Nun zu meiner Frage: Kann ich ein bestehendes Formular so in den Tabbed Dialog einbetten, das es noch voll funktionsfähig ist? Und wenn Ja, wie geht das?
Ich hab mir das so gedacht, dass ich ein neues leeres Formular erstelle, darauf den Tabbed Dialog und auf dem ersten Tab dann das Formular einbinde. Oder so.
Vielen Dank, Thomas

Hallo Thomas.

Dafür bietet sich der Tabbed Dialog quais an. Nun ist es aber so, dass es in dem
Programm schon mehrere Formulare gibt. Bisher wurden die per
Button ein- und ausgeblendet. Da mindestens zwei weiter
Formulare dazukommen, würde die Übersichlichkeit sehr leiden.
Mit dem Tabbed Dialog geht das, denke ich, besser.
Nun zu meiner Frage: Kann ich ein bestehendes Formular so in
den Tabbed Dialog einbetten, das es noch voll funktionsfähig
ist? Und wenn Ja, wie geht das?

Meiner Meinung nach wäre es besser, wenn Du das TabStrip im Zusammenspiel mit Frames verwendest.
Du könntest die Frames auf Deinem neuen Formular platzieren, in eines Deiner bestehenden Formulare gehen, dort alle Steuerelemente markieren, kopieren und dann in einen Frame auf Deinem neuen Formular einfügen.
Theoretisch kannst Du danach den gesamten Code Deines vorhandenen Formulares ins Codefenster Deines neues Formulares hineinkopieren, ohne daß dabei die Funktionalität abhanden kommt. Problematisch wird die ganze Sache wohl dann, wenn Du mit dem zweiten vorhandenen Formular genauso vorgehst und dann plötzlich Namensgleichheiten zwischen Steuerelementen, benutzerdefinierten Prozeduren (bzw. Funktionen) und Variablen auftreten.

VG
Carsten

Hallo Carsten,

vielen Dank für Deine Hilfe.
Zwischenzeitlich habe ich es ebenso gelöst, wie Du vorgeschlagen hast. Nur mit dem Unterschied, dass ich das Tabbed Dialog Element verwende. Das ist sehr einfach zu handhaben.
Genau, wie erwartet gab es Schwierigkeiten bei den Steuerelementen, bei denen Namensgleichheit gegeben war. Hier ist Fleißarbeit gefragt, um alles wieder ins Lot zu bringen.
Noch eine Frage: Kann ich das Ereignis, dass zur Laufzeit ein anderer Tab ausgewählt wird, irgendwie abfangen?
Danke, Thomas

Hallo Thomas

Noch eine Frage: Kann ich das Ereignis, dass zur Laufzeit ein
anderer Tab ausgewählt wird, irgendwie abfangen?

Nein, aber Du könntest mit

SSTab1.TabEnabled(Index) = False

die entsprechenden Tabs für den Anwender unzugänglich machen, bevor das Formular angezeigt wird.

VG
Carsten

Hallo Carsten,

vielen Dank. Dass das mit dem Abfangen nicht klappt, habe ich mir schon fast gedacht. Wahrscheinlich geht das wieder nur über Subclassing. Aber das sind für mich böhmische Dörfer.
Dennoch war der Hinweis von Dir nutzbar, da (zunächst) nicht alle drei Tabs benötigt werden.

Schöne Woche wünsche ich.
Thomas