Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Панели отслеживания уведомляют родительское окно о действиях пользователя, отправляя сообщение WM_HSCROLL или WM_VSCROLL.
Что нужно знать
Технологии
Необходимые условия
- C/C++
- Программирование пользовательского интерфейса Windows
Инструкции
Обработка сообщений уведомлений о панели отслеживания
Следующий пример кода — это функция, которая вызывается, когда родительское окно панели отслеживания получает сообщение WM_HSCROLL. Ползунок в этом примере имеет стиль TBS_ENABLESELRANGE. Позиция ползунка сравнивается с диапазоном выбора, а ползунок перемещается в начальную или конечную позицию диапазона выбора при необходимости.
// 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;
}
}
Замечания
Диалоговое окно, содержащее ползунок стиля TBS_VERT, может использовать эту функцию при получении сообщения WM_VSCROLL.
Связанные разделы