Slider Notification Messages

A slider control notifies its parent window of user actions by sending the parent WM_HSCROLL or WM_VSCROLL messages, depending on the orientation of the slider control. To handle these messages, add handlers for the WM_HSCROLL and WM_VSCROLL messages to the parent window. The OnHScroll and OnVScroll member functions will be passed a notification code, the position of the slider, and a pointer to the CSliderCtrl object. Note that the pointer is of type CScrollBar * even though it points to a CSliderCtrl object. You may need to typecast this pointer if you need to manipulate the slider control.

Rather than using the scroll bar notification codes, slider controls send a different set of notification codes. A slider control sends the TB_BOTTOM, TB_LINEDOWN, TB_LINEUP, and TB_TOP notification codes only when the user interacts with a slider control by using the keyboard. The TB_THUMBPOSITION and TB_THUMBTRACK notification messages are only sent when the user is using the mouse. The TB_ENDTRACK, TB_PAGEDOWN, and TB_PAGEUP notification codes are sent in both cases.

The following table lists the slider control notification messages and the events (virtual key codes or mouse events) that cause the notifications to be sent. (For a list of standard virtual key codes, see Winuser.h.)

Notification message

Event causing notification to be sent

TB_BOTTOM

VK_END

TB_ENDTRACK

WM_KEYUP (the user released a key that sent a relevant virtual key code)

TB_LINEDOWN

VK_RIGHT or VK_DOWN

TB_LINEUP

VK_LEFT or VK_UP

TB_PAGEDOWN

VK_NEXT (the user clicked the channel below or to the right of the slider)

TB_PAGEUP

VK_PRIOR (the user clicked the channel above or to the left of the slider)

TB_THUMBPOSITION

WM_LBUTTONUP following a TB_THUMBTRACK notification message

TB_THUMBTRACK

Slider movement (the user dragged the slider)

TB_TOP

VK_HOME

See Also

Concepts

Using CSliderCtrl

Controls (MFC)