Visual Basic Merksätze - Steuerelemente

Visual Basic Merksätze: Steuerelemente, Steuerelementefeld, Errorhandling
Steuerelemente sind Komponenten, die z.B. in der Werkzeugsammlung enthalten sind. Die wichtigsten Elemente sind standardgemäß "fest" eingebaut, können also aus der Werkzeugsammlung nicht entfernt werden.
besitzen Namen, die zunächst automatisch vergeben werden, jedoch aussagelos sind (z.B. Form1, Label1). Es wird empfohlen, jedem Element einen aussagekräftigen Namen zu geben, dem ein Präfix vorangesetzt wird. Es gelten folgende Namenskonventionen:
frm = Form Formular frmBestand
fra = Frame Rahmenfeld fraOptionen
cmd = CommandButton Schaltfläche cmdStart
lbl = Label Bezeichnungsfeld lblAusgabeZins
txt = TextBox Textfeld txtEingabe
pic = PictureBox Bildfeld picAusgabeWert
img = Image Anzeige (von Bildern) imgMeinBild
opt = OptionButton Optionsfeld optEnglisch
chk = CheckBox Kontrollkästchen chkBarzahlung
tmr = Timer Zeitgeber tmrTimer1
lst = Listbox Listenfeld lstMannschaften
cbo = ComboBox Kombinationsfeld cboSchriftarten
vsc = VScroll Vert. Bildlaufleiste vscVertikal
hsc = HScroll Horiz.Bildlaufleiste hscHorizontal
besitzen Eigenschaften, die das Verhalten und Aussehen ändern können. Neue Werte kann man im Eigenschaftenfenster (Taste F4) zuweisen, z.B.: Name, BorderStyle, Caption, Left, Top, Backcolor, Sorted, Font...
Über das Menü Projekt: Komponenten kann man jederzeit neue Steuerelemente in die Werkzeugsammlung laden. Diese müssen sich in Gestalt einer OCX-Datei auf dem PC befinden.
Größe und Position der Steuerelemente werden in der Maßeinheit Twips angegeben. Das Twip ist eine Längeneinheit, die von der Bildschirmauflösung abhängig ist. Über die ScaleMode-Eigenschaft kann man aber auch andere Maßeinheiten einstellen!
567 Twips entsprechen einem logischen Zentimeter, also einem Bildschirmzentimeter, der beim Ausdruck 1 cm lang ist.
Steuerelemente-
Feld
Steuerelemente in einem SteuerelementeFeld besitzen immer einen Index, der in Klammern auf den Namen des Steuerelements folgt. For counter = 1 To 20
txtEingabe(counter).Text = "AlterWert"
Next
Dieselbe Schleife geht auch mit LBound und UBound: For counter = txtBox.LBound To txtBox.Ubound
txtBox(counter).Text = "NeuerWert"
Next
Oder auch gemischt: For n = 0 To picBild.Ubound
picBild(n).BackColor = vbRed
Next
Bei der Ereignisprozedur kann der Index wie folgt übergeben werden: Private Sub picBild_Click(Index As Integer)
Befehle
End Sub
Ereignisse der Steuerelemente Wichtige Ereignisse der Steuerelemente (SE) sind:
das SE wird (doppelt) angeklickt Click, DblClick
das SE erhält den Fokus GotFocus
eine Taste wird gedrückt, aber noch nicht wieder losgelassen. Der Tastaturcode der gedrückten Taste wird übergeben KeyDown
eine Taste wird gedrückt und das SE besitzt den Fokus. Hier wird der Zeichencode der gedrückten Taste übergeben KeyPress
eine gedrückte Taste wird wieder losgelassen. Der Tastaturcode der gedrückten Taste wird übergeben KeyUp
das SE verliert den Fokus LostFocus
eine der Maustasten wird geklickt, wenn sich der Mauszeiger in der Innenfläche des SE befindet MouseDown
der Mauszeiger wird in der Innenfläche des SE bewegt MouseMove (Argumente: Button, Shift, X, Y)
die Maustaste wurde wieder losgelassen MouseUp
bevor das SE den Fokus verliert, kann (z.B. bei Textfeldern) eine Überprüfung des Inhalts durchgeführt werden Validate
Jedes Steuerelement kann auf eine bestimmte Anzahl an Ereignissen reagieren, jedoch nur das SE, das den Eingabefokus besitzt.
Auf einem Formular wird der Eingabefokus auf die nächste Schaltfläche oder das nächste Textfeld mit der Tab-Taste dirigiert.
Tastaturereignisse sind z.B.: KeyDown, KeyPress, KeyUp
"Zeichen"-Tasten sowie die Eingabetaste. Diese lösen Ereignisse in Zeichencode aus: Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyEnter Then
Einige Tasten können kein KeyPress-Ereignis auslösen, z.B. die Umschalttaste. Hier können nur Ereignisse mit dem Tastaturcode ausgelöst werden: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Steuerelement Command
Button
ist für das Auslösen von Aktionen zuständig (Bestätigen, Abbruch, Ja, Nein, OK usw...). Ausgelöst wird mit einem Mausklick auf die Schaltfläche: Sub cmdStart_Click ()
kann beliebige Größen annehmen und Bilder enthalten, muss aber stets rechteckig sein. Wichtige Eigenschaften sind:
Caption: Legt den Text fest, der in der Schaltfläche erscheint. cmdStart.Caption:="Titelstory"
Cancel: Ist diese Eigenschaft True, kann das Click-Ereignis auch durch Betätigen der Esc-Taste ausgelöst werden. cmdStart.Cancel = True
Picture: Legt eine Bilddatei fest, die bei Style=1 in der Innenfläche angezeigt wird. cmdStart.Picture = "Bild.gif"
Style: Legt fest, ob sich die Schaltfläche normal (Style=0) oder grafisch (Style=1) verhält. cmdStart.Style = 1
Steuerelement
Label
kann nur kleine Textmengen ausgeben, also nicht entgegennehmen. Den Text gibt man nur in das Eigenschaftsfeld Caption ein. Beispiel: Beim Berühren mit der Maus wird der Text im Label unterstrichen: Private Sub Label1_MouseMove ()
Label1.Font.Underline = True
kann keinen Eingabefokus erhalten. Mit Label werden andere Steuerelemente nur beschriftet, z.B. als Überschrift für eine TextBox.
Wichtige Eigenschaften sind:
BorderStyle: das Feld erhält eine Umrandung. Label1.BorderStyle = 1
Alignment: der Text kann links, rechts oder zentriert ausgerichtet werden. Label2.Alignment = 0
Steuerelement
TextBox
kann Text ausgeben, sowie Text entgegennehmen. Den Text gibt man entweder in das Feld Eigenschaften Text, oder direkt in die auf dem Formular angeordnete Textbox ein. Löschbefehl: .Text = "" txtBeispiel.Text = "Hallo"
enthält keine Caption-Eigenschaft, also nicht mit dem Steuerelement Label verwechseln. Wichtige Eigenschaften sind:
MultiLine=True (in Verbindung mit der Eigenschaft ScrollBars 1, 2 oder 3): man kann beliebig viele Zeichen eingeben (bei Drücken der Return-Taste springt die Textmarke dann in die nächste Zeile). txtBeispiel.MultiLine = True
MaxLength=0 bedeutet eine maximale Textlänge von 65.000 Zeichen. Wird die Eigenschaft MultiLine=True hinzugeschaltet, können etwa 2 Milliarden Zeichen dargestellt werden. txtBeispiel.MaxLenght = 10
PasswordChar legt ein Zeichen fest (z.B. *), das anstelle des eingegebenen Zeichens angezeigt wird. Auf diese Weise lassen sich eingegebene Worte 'maskieren'. Hierzu muss man die Eigenschaft MultiLine=False setzen. txtBeispiel.PasswordChar = "#"
SelStart gibt die Position des selektierten Textes relativ zum Beginn des Textes an (das erste Zeichen besitzt die Position 0). Durch Setzen von SelStart kann der Beginn der Markierung verschoben werden. With txtStartKapital
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
SelLength gibt die Länge des ausgewählten Textes in Zeichen an. Durch Setzen von SelLength in der Prozedur kann die Länge des selektierten Textes verändert werden.
SelText stellt den selektierten Text dar.
HideSelection legt fest, ob die Anzeige einer Markierung erhalten bleibt, wenn das Textfeld den Eingabefokus verliert (=False), oder aufgehoben wird (=True). txtBeispiel.HideSelection = True
Steuerelement
PictureBox
ist für die Anzeige von Text und Bildern zuständig. Löschbefehl = .Cls picBeispiel.Cls
Unterstützt werden die Grafikformate: bmp, gif, jpg, wmf, ico, cur, emf, dib.
kann man während der Programm-Ausführung nicht in der Größe ändern (jedenfalls nicht ohne Tricks).
Steuerelement
Image
ist ausschließlich für die Anzeige von Bildern zuständig.
Unterstützt werden die Grafikformate: bmp, gif, jpg, wmf, ico, cur, emf, dib.
kann man während der Programm-Ausführung in der Größe ändern.
Mit der Eigenschaft Stretch lassen sich Bitmaps stufenlos vergrößern / verkleinern. imgBild.Stretch = True
Steuerelement
OptionButton
Wird nur in einer Gruppe eingesetzt. In dieser Gruppe kann immer nur ein OptionButton aktiv sein.
Mehrere unabhängige Gruppen müssen in Frames oder PictureBoxes gruppiert werden, die die Rolle eines Containers innerhalb des Formulars spielen. Zuerst muss aber der Container angelegt und dann die OptionButtons im Container erzeugt werden.
Style = 1 (der OptionButton erscheint als "CommandButton"; ein Bild kann eingefügt werden) cmdButton.Style = 1
Value = True (das OptionsFeld ist eingedrückt) Value = True
Steuerelement
CheckBox
Es können beliebig viele Kontrollkästchen unabhängig voneinander ein- oder ausgeschaltet werden.
Style = 1 (die CheckBox erscheint als "CommandButton"; ein Bild kann eingefügt werden)
Value = 1 (die CheckBox ist angekreuzt) Value = 1
Steuerelement
Timer
ist für zeitgesteuerte Programmausführung zuständig.
Enabled schaltet den Zeitgeber ein; z.B. beim Laden des Programms: Private Sub Form_Load() Timer1.Enabled = True
Interval setzt einen Zeitintervall (1000 = eine Sekunde). Timer1.Interval = 1000
Auszuführende Timer-Befehle stehen erst in der Prozedur: Private Sub Timer1_Timer()
z.B. Bildweite in gewissen Zeitabständen vergrößern: Bild1.Width = Bild1.Width + 100
z.B. Farbe eines Formulars verändern: Me.BackColor = RGB(255, 0, 0)
z.B. Zeitanzeige der Titelleiste ständig aktualisieren: Me.Caption = "Es ist" & Time & "Uhr"
z.B. Bildfeld über ein Formular bewegen: Image1.Move Image1.Left + DeltaX,
Image1.Top + DeltaY
Steuerelement
ListBox
Löschbefehl = Clear. Gegenüber der ComboBox hat die ListBox folgende Vorteile: Bei Style = 1 werden die Einträge in Form von Kontrollkästchen angezeigt; Columns-Eigenschaft (Anzahl von Spalten); MultiSelect, Selected sowie SelCount. lstBeispiel.Clear
List, ListCount, ListIndex gibt den Wert eines Listenfeldes zurück oder weist ihn zu. Der erste Wert hat immer den Index 0. lstKunden.List(7) = "Herr Meier"
Wert = lstArtikel.List(lstArtikel.ListIndex)
AddItem fügt einen Wert in das Listenfeld hinzu. Wird der Wert an eine bestimmte Position gesetzt, erhält er ein zweites Argument. RemoveItem löscht einen Wert (zum Löschen aller Werte Clear verwenden). lstMannschaft.AddItem "Hamburger SV"
lstMannschaft.AddItem "Köln", 18
MultiSelect = 1 (man kann einzelne Einträge einer Liste mit Mausklicks auswählen).
MultiSelect = 2 (man kann Einträge einer Liste mit gedrückter Maustaste fortlaufend auswählen).
For n = 0 To lst3.ListCount - 1
If lst3.Selected(n) = True Then _
Debug.Print lst3.List(n)
Next n
Durch Setzen der Selected-Eigenschaft auf False kann eine Auswahl wieder aufgehoben werden.
Steuerelement
ComboBox
List, ListCount, ListIndex gibt den Wert einer ComboBox zurück oder weist ihn zu. Der erste Wert hat immer den Index 0.
Style = 0 (Textfeld wird mit Pfeilsymbol angezeigt, dass eine Liste öffnet = Standardeinstellung).
Style =1 (Text und geöffnete Liste werden angezeigt; die Liste muss über die Height-Eigenschaft sichtbar gemacht werden).
Style = 2 (Nur Listenauswahl möglich, jedoch keine Eingabe ins Textfeld).
Steuerelemente
HScroll und
VScroll
Horizontale und vertikale Bildlaufleisten sind Elemente, mit deren Hilfe man einen Wert in einem bestimmten Bereich, den man über die Eigenschaften Min und Max festlegt, einstellen kann. Negative Werte sind erlaubt. hscRegler.Min = -10
hscRegler.Max = 10
Value (Aktueller Wert der Bildlaufleiste). vscRegler.Value = 0
Large Change und SmallChange (Legt den Betrag fest, um den sich die Value-Eigenschaft ändert, wenn man die Einstellfläche (Large) oder eines der beiden Pfeilsymbole (Small) anklickt. Negative Werte sind nicht erlaubt. vscRegler.LargeChange = 2
Scroll (dieses Ereignis wird ausgelöst, wenn der Schieber mit der Maus verschoben wird).
Errorhandling Fehlerbehandlung aktivieren. On Error Goto err_handler
Fehlerbehandlung übergehen. On Error Resume Next
Fehlerbehandlung deaktivieren. On Error Goto 0
Der fehlerverursachende Befehl wird noch einmal ausgeführt. Resume
Der fehlerverursachende Befehl wird nicht noch
einmal ausgeführt.
Resume Next
Debug-Methode, um das Programm an einer
bestimmten Stelle anzuhalten
Stop
Error-Objekt, das einen Fehlertext liefert. MsgBox Err.Description
Error-Objekt, das eine Fehlernummer liefert. MsgBox Err.Number
Löst einen Fehler aus. Err.Raise

Mehr Tipps: Visual Basic Microsoft-Samples

Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt