Rubrik: Controls · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 15.09.05 |
ScrollBar: SmallChange, LargeChange oder Scroll? Hier wird gezeigt, wie sich feststellen lässt, ob der User beim ScrollBar-Steuerelement auf die Pfeilsymbole oder in den freien Bereich geklickt oder den Slider bewegt hat. | ||
Autor: Dieter Otter | Bewertung: | Views: 13.022 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Bei Verwendung des Standard-Scrollbar-Controls von VB (egal, ob HScroll- oder VScroll-Control) wird leider kein eigenes Ereignis für "SmallChange" bzw. "LargeChange" ausgelöst. Nachfolgend möchten wir zeigen, wie man dennoch feststellen kann, ob der Anwender auf die Pfeilsymbole (SmallChange) oder in den freien Scrollbalken-Bereich (LargeChange) geklickt hat bzw. ob der Wert durch Ziehen des Sliders geändert wurde.
Private Sub HScroll1_Change() Static nOldValue As Long With HScroll1 If .Value = nOldValue + .SmallChange Or _ .Value = nOldValue - .SmallChange Then ' Klick auf Pfeilsymbol List1.AddItem "SmallChange" ElseIf .Value = nOldValue + .LargeChange Or _ .Value = nOldValue - .LargeChange Then ' es wurde in den freien Bereich geklickt! List1.AddItem "LargeChange" Else ' der Slider wurde bewegt! List1.AddItem "Slider" End If nOldValue = .Value End With End Sub