Rubrik: Controls · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 17.12.03 |
UpDown-Control ohne OCX Stört Sie das UpDown-Control von den CommomControls? Fehlt Ihnen zum Beispiel eine Dauerklickfunktion? Die Lösung steht hier! | ||
Autor: Sebastian Spinella | Bewertung: | Views: 12.700 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Stört Sie das UpDown-Control von den CommomControls? Fehlt Ihnen zum Beispiel eine Dauerklickfunktion? Kein Problem, das lässt sich ganz einfach mit VB-Boardmitteln lösen!
Platzieren Sie eine Textbox auf Ihre Form und daneben eine Vertikale Scrollbar (VScroll). Den zulässigen Wertbereich können Sie per Code festlegen oder direkt über die Min- und Max-Eigenschaft. Hierbei gilt jedoch folgendes zu beachten: Die Max-Eigenschaft legt hierbei den Minimalwert, die Min-Eigenschaft den Maximalwert mit umgedrehten Vorzeichen fest.
Beispiel für den Wertbereich:
VScroll1.Max = 0 ' von 0 VScroll1.Min = -120 ' bis +120
VScroll1.Max = 10 ' von +10 VScroll1.Min = -120 ' bis +120
Die Positionierung der vertikalen Scrollbar erfolgt zur Laufzeit.
Option Explicit Private Sub Form_Load() ' Verhindern, dass die Scrollbar per ' TAB-Taste den Fokus erhält VScroll1.TabStop = False ' ScrollBar positionieren With Text1 VScroll1.Move .Left + .Width, .Top, 225, .Height End With ' Wertebereich festlegen ' ' Achtung: Max legt den Minimalwert, ' Min den Maximalwert mit umgedrehten ' Vorzeichen fest!!! VScroll1.Max = 10 ' von -10 VScroll1.Min = -120 ' bis +120 Text1.Text = "0" End Sub
Private Sub VScroll1_Change() ' Blinken unterbinden Text1.SetFocus ' Wert in TextBox schreiben Text1.Text = CStr(-VScroll1.Value) End Sub
Private Sub Text1_Change() ' Wertebereich prüfen If Val(Text1.Text) >= (-VScroll1.Max) And _ Val(Text1.Text) <= Abs(VScroll1.Min) Then VScroll1.Value = -Val(Text1.Text) End If End Sub