| 12 | ||||||||||||||

Das Ziel dieser Übung ist zu Lernen, wie man eine Multiple Document Interface-Anwendung erstellt. Am Ende dieser Übung sollte man folgendes beherrschen:
Verstehen, wie übergeordnete und untergeordnete MDI-Formen arbeiten und wie sie sich voneinender unterscheiden.
Erstellen einer übergeordneten MDI-Form mit einem Standardmenü.
Erstellen einer untergeordneten MDI-Form mit ihrem eigenen Menü.
Laden/Erstellen und Entladen von untergeordneten MDI-Formen zur Laufzeit.
Multiple-Document Interface (MDI) erlaubt Programmierern, Anwendungen zu erstellen, die mehrere Dokumente gleichzeitig geöffnet haben können. Es gibt ein einzelnes übergeordnetes Fenster (Parent) und eine Anzahl untergeordneter Formen (Child). Auch wenn sich die untergeordneten Formen minimieren oder maximieren lassen, tun sie dies innerhalb ihrer zugehörigen übergeordneten Form. Word oder Excel sind Beispiele solcher MDI-Anwendungen.
Erstellen Sie eine übergeordnete MDI-Form, durch das Auswählen der Option MDI Form im Menü Extras.
Erstellen Sie eine neue Form, durch Clicken auf das
-Symbol.
Setzten Sie auf allen untergeordneten Formen die Eigenschaft MDIChild auf Wahr. Dieser Schritt ändert eine Standardform (SDI) zu einer untergeordneten MDI-Form.
Wiederholen Sie die Schritte 2 und 3 bis genügend untergeordnete Formen erstellt worden sind. Alternativ dazu, erstellen sie nur eine übergeordnete und nur eine untergeordnete MDI-Form. Verwenden Sie dann die Zeile
Dim FormName As New VorhandenerNameEinerUntergeordnetenFormwenn Sie eine neue untergeordnete Form erstellen wollen. Dies wird zur Laufzeit eine neue Instanz der untergeordneten Form erstellen.
Eine MDI-Form kann nicht modal sein.
Wenn eine untergeordnete Form minimiert oder maximiert wird, tut sie das innerhalb der Begrenzungen der zugehörigen übergeordneten Form.
Wenn eine untergeordnete Form maximiert wird, wird dessen Form-Titel (Caption) mit dem der übergeordneten Form kombiniert.
Untergeordnete Formen können nicht versteckt werden. Um sich einer untergeordneten Form zu entledigen, muß diese entladen weden.
Wenn die aktuell fokusierte untergeordnete Form eine Standardmenüleiste besitzt, ersetzt diese die Menüleiste der übergeordneten MDI-Form. Wenn eine untergeordnete MDI-Form keine eigene Menüleiste besitzt, jedoch aber die übergeordnete Form, dann wird die Menüleiste der übergeordneten Form angezeigt. Dieses Menüleistenaustausch-Verhalten kann in MS Word beobachtet werden: Sind alle untergeordneten Formen geschlossen, gibt es nur zwei Hauptmenüs: Datei und Hilfe. Sobald aber eine untergeordnete Form geöffnet wird, wechselt die Menüleiste, und enthält jetzt: Datei, Bearbeiten, Ansicht, Einfügen, Format, Extras, Tabelle, Fenster und Hilfe.
Erstellen Sie eine übergeordnete Form und setzen Sie ihre Eigenschaften (z.B. Caption).
Erstellen Sie eine Standardmenüleiste für die übergeordnete Form mit der folgenden Struktur:
Datei ...Neu ...- ...Beenden
Erstellen Sie eine normale Form und ändern Sie sie zu einer untergeordneten MDI-Form (setzten Sie dazu im Eigenschaften-Fenster dieser Form deren MDIChild-Eigemschaft auf Wahr).
Erstellen Sie eine Standardmenüleiste in der untergeordneten Form mit folgender Struktur:
Datei ...Neu ...Schließen ...- ...Beenden Fenster ...Überlappend ...Horizontal anordnen ...Vertikal anordnen ...Symbole anordnen
Setzen Sie beliebige Steuerelemente auf die untergeordnete Form, beispielsweise Textfelder, Bildfelder oder Bildlaufleisten.
Geben Sie im Menüeintrag Neu den Programmcode ein, um eine neue untergeordnete Form zu erstellen.
Beispiel:
Private Sub mnu1Neu_Click () Dim frmNeu As New Form1 ' Erstellt eine neue Instanz der untergeordneten Form1 frmNeu.Show frmNeu.Caption = "Untergeordnete MDI-Form Nr. " & (Forms.Count - 1) End Sub
Dieser Programmcode erstelle eine neue Instanz der Form mit Namen Form1. Die neu erstellte Form heißt frmNeu und die nächste Programmzeile zeigt diese Form mit dem Show-Befehl an.
Anmerkung: Da die untergeordnete Form die Menüleiste der übergeordneten Form mit ihrer eigenen Menüleiste ersetzt, benötigen Sie den oben angeführten Programmcode in den entsprechenden Menüeinträgen beider Formen.
Geben Sie Unload Me in die Schließen-Menüoption der untergeordneten Form ein. Das reservierte Wort Me bezieht sich auf die aktuell fokusierte Form.
Schreiben Sie den Code für die Fenster-Optionen, wie z.B.: überlappend, horizontale oder vertikale Anordnung, und Symbole anordnen. Der Code hierfür lautet:
MDIForm1.Arrange 0 ' Überlappend MDIForm1.Arrange 1 ' Horizontale Anordnung MDIForm1.Arrange 2 ' Vertikale Anordnung MDIForm1.Arrange 3 ' Symbole anordnen
Setzen sie das Kontrollhäkchen im Menü-Editor der untergeordneten Form für den Listeneintrag des Fenster-Menüs (siehe folgende Abbildung).

Wenn diese Option gesetzt ist, wird VB am Ende dieses Menüs eine Liste aller geladenen untergeordneten Formen anhängen. Ein Click auf eine dieser Einträge fokusiert automatisch die betreffende Form und holt sie in den Vordergrund.

Übung 11 (Arbeiten mit Datenbanken)
Hauptseite
Übung 13 (Zusatz-Steuerelemente)