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
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 8,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
Pfeil 7 Weitere Elemente eines Windows-Programms
  Pfeil 7.1 Hauptmenü
    Pfeil 7.1.1 Erstellung des Hauptmenüs
    Pfeil 7.1.2 Code des Hauptmenüs
    Pfeil 7.1.3 Klasse Font
    Pfeil 7.1.4 Schriftart
    Pfeil 7.1.5 Schriftgröße
    Pfeil 7.1.6 Schriftstil
  Pfeil 7.2 Kontextmenü
    Pfeil 7.2.1 Erstellung des Kontextmenüs
    Pfeil 7.2.2 Code des Kontextmenüs
  Pfeil 7.3 Symbolleiste
    Pfeil 7.3.1 Erstellung der Symbolleiste
    Pfeil 7.3.2 Code der Symbolleiste
  Pfeil 7.4 Statusleiste
    Pfeil 7.4.1 Erstellung der Statusleiste
    Pfeil 7.4.2 Code der Symbolleiste
  Pfeil 7.5 Eingabe-Dialogfeld
  Pfeil 7.6 Ausgabe-Dialogfeld
  Pfeil 7.7 Standard-Dialogfelder
    Pfeil 7.7.1 Datei öffnen
    Pfeil 7.7.2 Datei speichern unter
    Pfeil 7.7.3 Verzeichnis auswählen
    Pfeil 7.7.4 Farbe auswählen
    Pfeil 7.7.5 Schrifteigenschaften auswählen

In diesem Kapitel wird die Programmierung mit bekannten Elementen von Windows-Programmen vorgestellt, die uns täglich begegnen.

7 Weitere Elemente eines Windows-Programms

Die folgenden Elemente sind selbstverständliche Bestandteile eines Windows-Programms: Hauptmenü, Kontextmenü, Symbolleiste, Statusleiste, Eingabe-Dialogfeld, Ausgabe-Dialogfeld sowie einige Standard-Dialogfelder.

Font

Im Folgenden wird die Klasse Font für Schriften gemeinsam mit dem Thema »Hauptmenü« an Beispielen erläutert.


Galileo Computing - Zum Seitenanfang

7.1 Hauptmenü  Zur nächsten ÜberschriftZur vorigen Überschrift

Hauptmenüs dienen zur übersichtlichen Darstellung größerer Sammlungen von Befehlen. Ein Menü kann unter anderem folgende Einträge enthalten:

  • ein Befehl, der direkt ausgeführt wird
  • ein Aufruf eines Dialogfelds, in dem der Benutzer Eingaben machen kann
  • ein Untermenü, das weiterverzweigt

Galileo Computing - Zum Seitenanfang

7.1.1 Erstellung des Hauptmenüs  Zur nächsten ÜberschriftZur vorigen Überschrift

MenuStrip

Zur Erstellung eines Hauptmenüs wird das Steuerelement MenuStrip aus der Abteilung Menüs & Symbolleisten aus der Toolbox auf das Formular gezogen. Es erscheint anschließend an zwei Stellen:

  • im Formular selbst zur Eingabe der einzelnen Menüpunkte, diese stellen wiederum Steuerelemente mit einstellbaren Eigenschaften dar
  • unterhalb des Formulars (ähnlich wie das Zeitgeber-Steuerelement) zur Einstellung der Eigenschaften des Hauptmenüs

    Abbildung 7.1  Hauptmenü mit erstem Untermenü

Untermenü

Zunächst kann im Formular der erste Punkt des Hauptmenüs eingetragen werden. Anschließend kann man entweder einen Untermenüpunkt zu diesem Hauptmenüpunkt eintragen (nach unten) oder einen weiteren Hauptmenüpunkt (nach rechts). Dieser Vorgang wird fortgesetzt, bis man zuletzt alle Haupt- und Untermenüpunkte (gegebenenfalls mit weiteren Untermenüs unter Untermenüs usw.) eingetragen hat.

Menü ändern

Möchte man die Reihenfolge der Menüpunkte ändern, so ist dies problemlos per Drag & Drop möglich. Im vorliegenden Programm wurden die vorgeschlagenen Namen für die Menü-Elemente etwas verkürzt, damit man sie besser im Code handhaben kann. Ein Beispiel: Aus der Bezeichnung GelbToolStripMenuItem für den Menüpunkt zur Einstellung einer gelben Hintergrundfarbe wurde mnuGelb.

Ein Hauptmenüpunkt ist entweder

  • ein normaler Menüeintrag,

    ComboBox

  • eine ComboBox (=Kombinationsfeld) zur Auswahl bzw. zum Eintrag, wie z. B. die Schriftgröße in der Symbolleiste in MS Word, oder
  • eine Textbox.

Separator

Bei einem Untermenüpunkt kann man zusätzlich noch den Eintrag »Separator« wählen. Dieser dient zur optischen Trennung von Menüpunkten (siehe Abbildung 7.2).

Das Zeichen »&«

Jeder Menüpunkt stellt ein Steuerelement mit einstellbaren Eigenschaften dar. Menüpunkte können auch per Tastatur ausgewählt werden, wie dies z. B. bei Buttons bereits gemacht wurde. Vor dem Buchstaben, der unterstrichen werden soll, wird das Zeichen & eingegeben.

Abbildung 7.2  Untermenü, verschiedene Möglichkeiten

Schalter an/aus

Außerdem können Menüpunkte mit einem Häkchen gekennzeichnet werden, wie ein Kontrollkästchen. Damit kann man einen Zustand kennzeichnen, wie z. B. die aktuelle Hintergrundfarbe des Labels unten im Formular.


Galileo Computing - Zum Seitenanfang

7.1.2 Code des Hauptmenüs  Zur nächsten ÜberschriftZur vorigen Überschrift

Das wichtigste Ereignis eines »normalen« Menüpunkts ist der Click. Dieser wird mit einer Ereignisprozedur verbunden. Mithilfe des dargestellten Programms (p0701) können eine Reihe von Abläufen gesteuert werden.

Hauptmenü Bearbeiten:

  • Untermenüpunkt Kopieren: Der Inhalt des Textfelds wird in das Label kopiert.
  • Untermenüpunkt Ende: Das Programm wird beendet.

Hauptmenü Ansicht:

  • Untermenüpunkte Hintergrund (bzw. Schriftart): Es erscheint eine weitere Menü-Ebene. Darin kann die Hintergrundfarbe (bzw. Schriftart) des Labels aus drei Möglichkeiten ausgewählt werden. Die jeweils aktuelle Einstellung ist markiert.
  • Untermenüpunkt Schriftgröße: Der Benutzer hat die Möglichkeit, aus einer ComboBox (Kombinationsfeld) die Schriftgröße auszuwählen bzw. einzugeben.
  • Untermenüpunkte Fett bzw. Kursiv: Der Benutzer hat die Möglichkeit den Schriftstil Fett und/oder Kursiv auszuwählen. Der gewählte Schriftstil ist anschließend markiert.

Im Folgenden geht es zunächst um die Ereignisprozeduren des Hauptmenüs Bearbeiten (in p0701):

Public Class frm0701 
[ ... ] 
   Private Sub mnuKopieren_Click( ... ) Handles ... 
      lblA.Text = txtE.Text 
      If lblA.Text = "" Then lblA.Text = "(leer)" 
   End Sub 
 
   Private Sub mnuEnde_Click( ... ) Handles ... 
      Me.Close() 
   End Sub 
[ ... ] 
End Class

Zur Erläuterung:

  • Nach dem Kopieren eines leeren Textfelds in das Label wird der Text »(leer)« eingeblendet, damit man die anderen Einstellungen noch sehen kann.

    Abbildung 7.3  Programm p0701, Untermenüpunkt Hintergrund

Die Ereignisprozeduren zur Einstellung der Hintergrundfarbe (ebenfalls in p0701) lauten wie folgt:

Public Class frm0701 
[ ... ] 
   Private Sub mnuGelb_Click( ... ) Handles ... 
      lblA.BackColor = Color.Yellow 
      mnuGelb.Checked = True 
      mnuBlau.Checked = False 
      mnuRot.Checked = False 
   End Sub 
 
   Private Sub mnuBlau_Click( ... ) Handles ... 
      lblA.BackColor = Color.Blue 
      mnuGelb.Checked = False 
      mnuBlau.Checked = True 
      mnuRot.Checked = False 
   End Sub 
 
   Private Sub mnuRot_Click( ... ) Handles ... 
      lblA.BackColor = Color.Red 
      mnuGelb.Checked = False 
      mnuBlau.Checked = False 
      mnuRot.Checked = True 
   End Sub 
[ ... ] 
End Class

Zur Erläuterung:

  • Die Hintergrundfarbe wird mithilfe der Struktur Color auf den gewünschten Wert eingestellt.

    Checked

  • Die Eigenschaft Checked des Untermenüpunkts der ausgewählten Farbe wird auf True gestellt, die jeweils anderen beiden Eigenschaften werden auf False gestellt.
  • Man sollte darauf achten, dass die Startwerte der jeweiligen Checked-Eigenschaften auch mit dem Startwert der Hintergrundfarbe übereinstimmen.

Die restlichen Ereignisprozeduren bewirken Änderungen bei Schriftart, Schriftgröße und Schriftstil. Dazu muss zunächst die Klasse Font näher betrachtet werden.


Galileo Computing - Zum Seitenanfang

7.1.3 Klasse Font  Zur nächsten ÜberschriftZur vorigen Überschrift

Viele Steuerelemente haben die Eigenschaft Font. Darin werden die Eigenschaften der Schrift im oder auf dem Steuerelement festgelegt. Diese Eigenschaften werden zur Entwicklungszeit im Eigenschaftenfenster eingestellt. Sie können zur Laufzeit des Programms ermittelt bzw. geändert werden.

Konstruktoren

Zur Änderung wird ein neues Objekt der Klasse Font benötigt. Zur Erzeugung eines solchen Objekts stehen zahlreiche Konstruktoren zur Verfügung. Da in diesem Programm Schriftart, Schriftgröße und Schriftstil verändert werden können, wird der Konstruktor benutzt, der alle drei Eigenschaften verlangt.

Dies mag zunächst verwundern. Es ist aber nicht möglich, nur die Schriftart allein zu ändern, denn die betreffende Untereigenschaft ist nicht änderbar und es gibt auch keinen Konstruktor der Klasse Font, der nur die Schriftart verlangt. Ebenso verhält es sich mit Schriftgröße und Schriftstil.


Galileo Computing - Zum Seitenanfang

7.1.4 Schriftart  Zur nächsten ÜberschriftZur vorigen Überschrift

Zunächst die Ereignisprozeduren zur Änderung der Schriftart (ebenfalls in p0701):

Abbildung 7.4  Programm p0701, Untermenüpunkt Schriftart

Public Class frm0701 
[ ... ] 
   Private Sub mnuCourierNew_Click( ... ) Handles ... 
      lblA.Font = New Font("Courier New", _ 
         lblA.Font.Size, lblA.Font.Style) 
      mnuCourierNew.Checked = True 
      mnuSymbol.Checked = False 
      mnuArial.Checked = False 
   End Sub 
 
   Private Sub mnuSymbol_Click( ... ) Handles ... 
      lblA.Font = New Font("Symbol", _ 
         lblA.Font.Size, lblA.Font.Style) 
      mnuCourierNew.Checked = False 
      mnuSymbol.Checked = True 
      mnuArial.Checked = False 
   End Sub 
 
   Private Sub mnuArial_Click( ... ) Handles ... 
      lblA.Font = New Font("Arial", _ 
         lblA.Font.Size, lblA.Font.Style) 
      mnuCourierNew.Checked = False 
      mnuSymbol.Checked = False 
      mnuArial.Checked = True 
   End Sub 
[ ... ] 
End Class

Zur Erläuterung:

    Font

  • In den Prozeduren wird ein neu erzeugtes Objekt der Klasse Font der Eigenschaft Font des Labels zugewiesen.

    Size, Style

  • Der verwendete Konstruktor erhält den Namen der neuen Schriftart und die aktuellen Einstellungen von Schriftgröße und Schriftstil zugewiesen. Diese Werte stehen in den Untereigenschaften Size und Style der Eigenschaft Font zur Verfügung.
  • Die Eigenschaft Checked des Untermenüpunkts der ausgewählten Schrift wird auf True gestellt, die beiden jeweils anderen werden auf False gestellt, wie bei der Hintergrundfarbe.

Galileo Computing - Zum Seitenanfang

7.1.5 Schriftgröße  Zur nächsten ÜberschriftZur vorigen Überschrift

Es folgt die Änderung der Schriftgröße über das Kombinationsfeld (ebenfalls in p0701):

Public Class frm0701 
   Private Sub frm0701_Load( ... ) Handles ... 
      cboSchriftgröße.Items.Add("8,25") 
      cboSchriftgröße.Items.Add("10") 
      cboSchriftgröße.Items.Add("13") 
      cboSchriftgröße.Items.Add("18") 
      cboSchriftgröße.SelectedIndex = 0 
   End Sub 
[ ... ] 
   Private Sub cboSchriftgröße_TextChanged( ... ) _ 
         Handles ... 
      Dim schriftgröße As Single = _ 
         Val(cboSchriftgröße.Text) 
      lblA.Font = New Font(lblA.Font.FontFamily, _ 
         schriftgröße, lblA.Font.Style) 
    End Sub 
End Class

Zur Erläuterung:

    SelectedIndex

  • Zu Beginn des Programms wird das Kombinationsfeld mit einigen Werten gefüllt. Einer der Werte ist der Startwert für die Schriftgröße, dieser sollte auch der markierte Wert in der Liste sein. Die Eigenschaft SelectedIndex muss also voreingestellt werden.

    TextChanged

  • Das Ereignis cboSchriftgröße_TextChanged tritt ein, wenn der Benutzer einen Eintrag aus der Liste auswählt oder in das Textfeld einträgt.
  • Wiederum wird ein neu erzeugtes Objekt der Klasse Font erzeugt und der Eigenschaft Font des Labels zugewiesen.

    FontFamily

  • Der verwendete Konstruktor erhält die neue Schriftgröße und die aktuellen Einstellungen von Schriftart und Schriftstil zugewiesen. Diese Werte stehen in den Untereigenschaften FontFamily und Style der Eigenschaft Font zur Verfügung.

Galileo Computing - Zum Seitenanfang

7.1.6 Schriftstil  topZur vorigen Überschrift

Zuletzt wird die Änderung des Schriftstils vorgenommen (ebenfalls in p0701):

Public Class frm0701 
[ ... ] 
   Private Sub mnuFett_Click( ... ) Handles ... 
      lblA.Font = New Font(lblA.Font.FontFamily, _ 
         lblA.Font.Size, _ 
         lblA.Font.Style Xor FontStyle.Bold) 
      mnuFett.Checked = Not mnuFett.Checked 
   End Sub 
 
   Private Sub mnuKursiv_Click( ... ) Handles ... 
      lblA.Font = New Font(lblA.Font.FontFamily, _ 
         lblA.Font.Size, _ 
         lblA.Font.Style Xor FontStyle.Italic) 
       mnuKursiv.Checked = Not mnuKursiv.Checked 
   End Sub 
[ ... ] 
End Class

Zur Erläuterung:

  • Das neu erzeugte Objekt der Klasse Font bekommt den neuen Schriftstil und die aktuellen Einstellungen von Schriftart und Schriftgröße zugewiesen.

    Style

  • In der Untereigenschaft Font.Style stehen mehrere Möglichkeiten zur Verfügung, die einzeln oder gemeinsam auftreten können: »fett«, »kursiv«, »unterstrichen«, »durchgestrichen«, »normal«.

    Or, Xor

  • Die Untereigenschaft wird intern als eine einzige Bitfolge gespeichert. An dieser Bitfolge kann Visual Basic erkennen, ob eine oder mehrere Möglichkeiten ausgewählt wurden. Zur Einstellung von »fett und kursiv« würde man die Werte FontStyle.Bold und FontStyle.Italic mit dem Bit-Operator Or addieren. Zur Einstellung von »bisherige Werte« und »Kursiv wechseln« werden die Werte lblA.Font.Style und FontStyle.Italic mit dem Bit-Operator Xor addiert.
  • Zum Abschluss der Prozedur wird der aktuelle Wert der Eigenschaft Checked invertiert, da sich dieser Untermenüpunkt wie ein Schalter verhält: »Kursiv ein« (True) oder »Kursiv aus« (False).


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: Einstieg in Visual Basic 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de