Prozentbalken als EingabesteuerelementDie Eingabe von Zahlen kann man durch Verwendung einer Kombination aus mehreren Rechteck-Steuerelementen und wenigen Zeilen Code wesentlich vereinfachen und optisch ansprechend aufbereiten. BeispieldatenbankDie Beispieldatenbank enthält ein Formular mit dem Prozentbalken zur Auswahl einer Zahl zwischen 0 und 100.


Programmierung eines ProzentbalkensDer Prozentbalken besteht aus zwei Rechteck-Steuerelementen. Das untere spendiert dem Prozentbalken lediglich den gravierten Rahmen, das andere ist der rote Balken (siehe Abbildung 1).
Abbildung 1: Der Prozentbalken in Aktion
Die folgenden Ereignisprozeduren kommen zum Zuge, wenn sich der Mauszeiger über dem roten Steuerelement bewegt oder wenn oberhalb des Rechtecks ein Mausklick erfolgt.
Beide Fälle führen zum Aufruf der Prozedur Aktualisieren, die die beiden Parameter Button (ist der Mauszeiger gedrückt?) und X (aktuelle x-Position innerhalb des Steuerelements) erwartet.
Die Prozedur Aktualisieren passt erstens die Breite des roten Rechtecks an die aktuelle Mausposition an und berechnet den prozentualen Anteil der aktuellen Breite an der Gesamtbreite des Balkens.
Private Sub rctRot_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Aktualisieren Button, X
End Sub
Private Sub rctRot_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Aktualisieren Button, X
End Sub
Private Sub Aktualisieren(Button As Integer, X As Single)
If Button = 1 And X >= 0 And X <= 1760 Then
Me.rctRot.Width = X
Me.txtX = CInt(X / 1760 * 100)
End If
End Sub |