Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Trackbars notify their parent window of user actions by sending the parent a WM_HSCROLL or WM_VSCROLL message.
What you need to know
Technologies
Prerequisites
- C/C++
- Windows User Interface Programming
Instructions
Process Trackbar Notification Messages
The following code example is a function that is called when the trackbar's parent window receives a WM_HSCROLL message. The trackbar in this example has the TBS_ENABLESELRANGE style. The position of the slider is compared to the selection range, and the slider is moved to the starting or ending position of the selection range when necessary.
// TBNotifications - handles trackbar notifications received
// in the wParam parameter of WM_HSCROLL. This function simply
// ensures that the slider remains within the selection range.
VOID WINAPI TBNotifications(
WPARAM wParam, // wParam of WM_HSCROLL message
HWND hwndTrack, // handle of trackbar window
UINT iSelMin, // minimum value of trackbar selection
UINT iSelMax) // maximum value of trackbar selection
{
DWORD dwPos; // current position of slider
switch (LOWORD(wParam)) {
case TB_ENDTRACK:
dwPos = SendMessage(hwndTrack, TBM_GETPOS, 0, 0);
if (dwPos > iSelMax)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMax);
else if (dwPos < iSelMin)
SendMessage(hwndTrack, TBM_SETPOS,
(WPARAM) TRUE, // redraw flag
(LPARAM) iSelMin);
break;
default:
break;
}
}
Remarks
A dialog box that contains a TBS_VERT style trackbar can use this function when it receives a WM_VSCROLL message.
Related topics