Поделиться через


сообщение WM_HSCROLL

Сообщение WM_HSCROLL отправляется в окно при возникновении события прокрутки в стандартной горизонтальной полосе прокрутки окна. Это сообщение также отправляется владельцу элемента управления горизонтальной полосы прокрутки при возникновении события прокрутки в элементе управления.

Окно получает это сообщение через функцию WindowProc .

WM_HSCROLL

    WPARAM wParam
    LPARAM lParam; 

Параметры

wParam

HIWORD указывает текущую позицию поля прокрутки, если loWORD SB_THUМБ POSITION или SB_THUМБ TRACK; в противном случае это слово не используется.

LoWORD задает значение полосы прокрутки, указывающее запрос прокрутки пользователя. Это слово может быть одним из следующих значений.

Значение Значение
SB_ENDSCROLL
Заканчивается прокрутка.
SB_LEFT
Прокручивается до верхнего левого угла.
SB_RIGHT
Прокручивается вправо.
SB_LINELEFT
Прокрутка влево на одну единицу.
SB_LINERIGHT
Прокручивается вправо на одну единицу.
SB_PAGELEFT
Прокрутка влево по ширине окна.
SB_PAGERIGHT
Прокручивается вправо по ширине окна.
SB_THUМБ POSITION
Пользователь перетаскивал поле прокрутки (большой палец) и выпустил кнопку мыши. HIWORD указывает позицию поля прокрутки в конце операции перетаскивания.
SB_THUМБ TRACK
Пользователь перетаскивает полосу прокрутки. Это сообщение отправляется повторно, пока пользователь не выпустит кнопку мыши. HIWORD указывает положение, в которое перетаскивается поле прокрутки.

lParam

Если сообщение отправляется элементом управления полосой прокрутки, этот параметр является дескриптором элемента управления полосы прокрутки. Если сообщение отправляется стандартной полосой прокрутки, этот параметр имеет значение NULL.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать ноль.

Замечания

Код запроса SB_THUМБ TRACK обычно используется приложениями, предоставляющими отзывы по мере перетаскивания поля прокрутки.

Если приложение прокрутит содержимое окна, оно также должно сбросить положение поля прокрутки с помощью функции SetScrollPos.

Обратите внимание, что сообщение WM_HSCROLL содержит только 16 бит данных о расположении поля прокрутки. Таким образом, приложения, использующие исключительно WM_HSCROLLWM_VSCROLL) для данных положения прокрутки, имеют практические максимальные значения позиции 65 535.

Однако, поскольку функции SetScrollInfo, SetScrollPos, SetScrollRange, GetScrollInfo, GetScrollPos и GetScrollRange поддерживают 32-разрядные данные положения полосы прокрутки, существует способ обойти 16-разрядный барьер WM_HSCROLL и WM_VSCROLL сообщений. Описание метода см. в разделе GetScrollInfo .

Requirements

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Верхний колонтитул
Winuser.h (включая Windows.h)

См. также

Ссылка

GetScrollInfo

GetScrollPos

GetScrollRange

SetScrollInfo

SetScrollPos

SetScrollRange

WM_HSCROLL (trackbar)

WM_VSCROLL