UpDown class
An UpDown is a small spin control — a pair of up / down arrow buttons that adjust an internal Value by Increment on each click. Often paired with an external textbox or label to display the current value.
Private Sub Form_Load()
UpDown1.Min = 0
UpDown1.Max = 100
UpDown1.Increment = 5
UpDown1.Value = 50
End Sub
Private Sub UpDown1_Change()
Text1.Text = UpDown1.Value
End Sub
Private Sub Text1_Change()
If IsNumeric(Text1.Text) Then UpDown1.Value = CLng(Text1.Text)
End Sub
The control inherits the focusable rect-dockable members from BaseControlFocusableNoFont — size, position, Anchors, Dock, Appearance, MousePointer / MouseIcon, ToolTipText, DragMode / DragIcon, Drag, Refresh, SetFocus, TabIndex / TabStop, ZOrder, CausesValidation, VisualStyles, hWnd, HelpContextID / WhatsThisHelpID. UpDown does not have a Font property (the arrows are drawn by the OS theme).
No auto-buddy
Unlike the VB6-era Win32 msctls_updown32 control, this UpDown does not auto-attach to a “buddy” textbox — there is no UDS_AUTOBUDDY style exposed. Pair the spin control with another control manually by handling Change, UpClick, and DownClick.
Three event flavors
Three events let the application observe spin interaction at different granularity:
- Change fires whenever Value actually changes — including programmatic assignments.
- UpClick fires when the user clicks the up arrow and Value increases.
- DownClick fires when the user clicks the down arrow and Value decreases.
Properties
Increment
The amount each click of the arrow buttons changes Value by. Long. Default: 1. Stored as the nInc field of a UDACCEL record applied via UDM_SETACCEL.
Max
The upper bound of the range. Long. Default: 10. Applied via UDM_SETRANGE32.
Min
The lower bound of the range. Long. Default: 0.
Orientation
The control’s orientation. A OrientationConstants member (ccOrientationHorizontal or ccOrientationVertical). Default: ccOrientationHorizontal. Changing this property at run time recreates the underlying Win32 window.
ToolTipText
A tooltip string shown when the user hovers over the control. String. Inherited but re-exposed.
Value
The current spinner value. Long. The default member. Reads via UDM_GETPOS32, writes via UDM_SETPOS32. Fires Change when set programmatically. Clamped to [Min, Max].
VisualStyles
Whether the OS visual styles theme is applied. Boolean. Default: True. Inherited but re-exposed.
Events
Change
Raised when Value has changed by user interaction, by an arrow click, or by code.
Syntax: object_Change( )
DownClick
Raised when the user clicks the down arrow and Value is successfully decreased.
Syntax: object_DownClick( )
DragDrop, DragOver
Inherited drag-drop events.
GotFocus, LostFocus
Inherited focus events.
Initialize
Raised after the control’s window has been created.
MouseDown, MouseMove, MouseUp
Inherited mouse events.
OLECompleteDrag, OLEDragDrop, OLEDragOver, OLEGiveFeedback, OLESetData, OLEStartDrag
Inherited OLE drag-and-drop events.
UpClick
Raised when the user clicks the up arrow and Value is successfully increased.
Syntax: object_UpClick( )
Validate
Inherited validation event.
See Also
- Slider – a draggable thumb on a track, when the range is visualised
- OrientationConstants – the shared horizontal / vertical enum used by UpDown and Slider
- ControlTypeConstants – where vbUpDown lives