A slider control notifies its parent window of user actions by sending the parent WM_HSCROLL messages. You can override the parent's OnHScroll member function to handle these messages. This function 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.
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 |