сообщение WM_VSCROLL

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

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

WM_VSCROLL

    WPARAM wParam
    LPARAM lParam; 

Параметры

wParam

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

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

Значение Значение
SB_BOTTOM
Прокручивается вправо.
SB_ENDSCROLL
Заканчивается прокрутка.
SB_LINEDOWN
Прокручивает одну строку вниз.
SB_LINEUP
Прокручивает одну строку вверх.
SB_PAGEDOWN
Прокручивает одну страницу вниз.
SB_PAGEUP
Прокручивает одну страницу вверх.
SB_THUМБ POSITION
Пользователь перетаскивал поле прокрутки (большой палец) и выпустил кнопку мыши. HIWORD указывает позицию поля прокрутки в конце операции перетаскивания.
SB_THUМБ TRACK
Пользователь перетаскивает полосу прокрутки. Это сообщение отправляется повторно, пока пользователь не выпустит кнопку мыши. HIWORD указывает положение, в которое перетаскивается поле прокрутки.
SB_TOP
Прокручивается до верхнего левого угла.

lParam

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

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

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

Замечания

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

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

Обратите внимание, что сообщение WM_VSCROLL содержит только 16 бит данных о расположении поля прокрутки. Таким образом, приложения, использующие исключительно WM_VSCROLLWM_HSCROLL) для данных положения прокрутки, имеют практические максимальные значения позиции 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

WM_VSCROLL (Trackbar)