Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Pfeil 14 MDI-Anwendungen
Pfeil 14.1 Das MDI-Hauptfenster
Pfeil 14.2 Die Subfenster
Pfeil 14.3 Zugriff auf die Subfenster
Pfeil 14.3.1 Alle Subfenster
Pfeil 14.3.2 Aktive Subfenster
Pfeil 14.3.3 Subfenster eines bestimmten Typs
Pfeil 14.4 Menü einer MDI-Anwendung
Pfeil 14.4.1 Subfenster anordnen
Pfeil 14.4.2 Subfenster mit eigenen Menüs
Pfeil 14.5 Symbol- und Statusleiste des Subfensters
Pfeil 14.6 Die Liste der geöffneten untergeordneten Fenster
Pfeil 14.7 Beispiel einer MDI-Anwendung


Galileo Computing - Zum Seitenanfang

14.4 Menü einer MDI-Anwendung Zur nächsten ÜberschriftZur vorigen Überschrift

Nach Ihrem bisherigen Wissen über Steuerelemente würden Sie die Positionierung und Anordnung von Menü-, Symbol- und Statusleiste einem ToolStripContainer überlassen. Vertrauen Sie diesem Steuerelement aber nicht zu sehr. Denn sobald Sie diesen Container in den Arbeitsbereich eines MDI-Hauptfensters gelegt haben, verliert das Hauptfenster seine für es typischen Eigenschaften hinsichtlich der Verwaltung und Anzeige der Subfenster. Unter anderem sind sie gar nicht mehr sichtbar. Sie müssen demnach auf einen ToolStripContainer im MDI-Hauptfenster verzichten und können nicht von dessen Fähigkeiten profitieren.


Galileo Computing - Zum Seitenanfang

14.4.1 Subfenster anordnen Zur nächsten ÜberschriftZur vorigen Überschrift

Haben Sie im MDI-Hauptfenster mehrere Subfenster geöffnet, werden diese standardmäßig überlappend angezeigt. Das erste öffnet sich in der linken oberen Ecke des Hauptfensters, jedes weitere um jeweils einen bestimmten Betrag nach rechts unten versetzt. Die Subfenster können noch auf zwei weitere Arten automatisch angeordnet werden: entweder neben- oder untereinander. Üblicherweise wird die Wahl über das Menü Fenster des Hauptfensters bereitgestellt, siehe Abbildung 14.2.

Abbildung 14.2 Auswahlmenü zur Anordnung der MDI-Subfenster

Im Ereignishandler des Click-Ereignisses der Menüelemente wird die Methode LayoutMdi des Hauptfensters aufgerufen, der Sie als Argument einen der insgesamt vier Konstanten der Enumeration MdiLayout übergeben (siehe Tabelle 14.1).


Tabelle 14.1 Die Enumeration »MdiLayout«

Konstante Wert Anordnung im MDI-Hauptfenster

Cascade

0

Subfenster werden überlappend angeordnet.

TileHorizontal

1

Subfenster werden horizontal angeordnet.

TileVertical

2

Subfenster werden vertikal angeordnet.

ArrangeIcons

3

Alle auf Icongröße reduzierten Subfenster werden am unteren Rand angeordnet.


Ein gemeinsamer Ereignishandler reicht aus, um alle Subfenster wunschgemäß anzuordnen. Sie prüfen dann in einer If-Anweisung den Parameter sender, um festzustellen, welches Menüelement den Aufruf des Handlers ausgelöst hat. Mit der gewonnenen Information rufen Sie LayoutMdi mit dem entsprechenden Enumerationswert auf.

Private Sub Anordnung(ByVal sender As Object, ByVal e As EventArgs) _ 
Handles Überlappend.Click, Nebeneinander.Click, Untereinander.Click 
  If sender Is Überlappend Then 
    Me.LayoutMdi(MdiLayout.Cascade) 
  ElseIf sender Is Untereinander Then 
    Me.LayoutMdi(MdiLayout.TileHorizontal) 
  Else 
    Me.LayoutMdi(MdiLayout.TileVertical) 
  End If 
End Sub

Die gewünschte Anordnung spezifiziert die Hauptausrichtung der Subfenster, die für den Fall vertikaler und horizontaler Ausrichtung die gesamte Clientfläche ohne Überlappung füllen. Es sind mehr Subfenster in der gewünschten Richtung vorhanden als in der anderen. Ein »Extremfall« tritt für vier Subfenster auf, in dem je zwei Fenster neben- und untereinander stehen – die vertikale und die horizontale Anordnung sind dann identisch.


Galileo Computing - Zum Seitenanfang

14.4.2 Subfenster mit eigenen Menüs topZur vorigen Überschrift

Subfenster können genauso wie MDI-Hauptfenster eine eigene Menüleiste haben. Allerdings wird diese nicht im Sub-, sondern im Hauptfenster angezeigt. Dabei wird die Menüleiste des Hauptfensters um die Menüleiste des Subfensters ergänzt. Die Menüelemente in der kombinierten Menüleiste können unterschiedlich angeordnet werden. Standardmäßig wird die Menüleiste des Hauptfensters rechts um die Menüleiste des Subfensters ergänzt. Sie können die beiden Menüleisten aber auch beliebig kombinieren, Menüelemente ausblenden, Menüelemente im Hauptfenster durch Untermenüs des Subfensters ergänzen usw.

Die Eigenschaften MergeAction und MergeIndex in der Klasse ToolStripItem kontrollieren die Kombination der beiden Menüs aus Haupt- und Subfenster. Die Einstellungen dieser Eigenschaften wirken sich nur dann aus, wenn das MenuStrip-Objekt mit AllowMerge=True ein Zusammenführen erlaubt. Das ist die Standardeinstellung und muss nur umgeschaltet werden, wenn das Zusammenführen der Menüleisten unerwünscht ist.

MergeAction beschreibt, wie die beiden Menüleisten kombiniert werden. Dabei sind Einstellungen möglich, die in der gleichnamigen Enumeration festgelegt sind (siehe Tabelle 14.2).


Tabelle 14.2 Die Enumeration »MergeAction«

Konstante Beschreibung

Append

Das Menüelement wird an die Menüleiste im Hauptfenster angehängt.

Insert

Fügt ein Menüelement an der unter MergeIndex spezifizierten Position ein.

MatchOnly

Das Untermenü des Menüelements wird an dasjenige Untermenü im Hauptfenster angehängt, dessen Position durch MergeIndex beschrieben wird.

Remove

Das Menüelement ist in einem zusammengeführten Menü nicht enthalten.

Replace

Das unter MergeIndex angegebene Menüelement des Hauptfensters wird vollständig ersetzt.


MergeAction.Append hängt das Menüelement direkt hinter das rechts außen stehenden Menüelement des Hauptfensters an. Diese Standardeinstellung der Eigenschaft MergeAction der Subfenster-Menüelemente spielt die komplette Subfenster-Menüleiste in die Menüleiste des Hauptfensters ein.

Mit MergeAction.Insert nehmen Sie Einfluss auf die angezeigte Reihenfolge. Sie geben in der Eigenschaft MergeIndex die Position des Menüelements in der zusammengeführten Menüleiste an. Bedenken Sie, dass alle Menüelemente von einer Auflistung des MenuStrip-Objekts verwaltet werden. Mit

MergeAction = MergeAction.Insert 
MergeIndex = 1

wird das Menüelement als zweites Element im zusammengeführten Menü des Hauptfensters angezeigt.

Angenommen, im Hauptfenstermenü gibt es ein Menüelement Datei und im Subfenster ebenfalls. Soll das Menüelement im Subfenster das Menüelement des Hauptfensters komplett ersetzen, spezifizieren Sie zuerst mit

MergeAction = MergeAction.Replace

dass ersetzt werden soll und unter MergeIndex die nullbasierte Position im Menü des Hauptfensters. Da Datei meist links außen zu finden ist und damit auch die erste Position in der ToolStripItemCollection einnimmt, ist die Position 0 meist richtig.

MergeIndex = 0

Alternativ können Sie das ursprüngliche Datei-Menü im Hauptfenster durch passende Einträge des Subfensters ergänzen, um den spezifischen Anforderungen des Subfensters zu genügen. Unter MergeIndex geben Sie dazu den Index des Menüelements an, das ergänzt werden soll, und MergeAction legen Sie auf MergeAction.MatchOnly fest. Es ist übrigens nicht erforderlich, dass die zusammengeführten Menüelemente denselben Bezeichner haben.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008
Visual Basic 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Nutzungsbestimmungen | Datenschutz | Impressum>

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de