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


Функция GetScrollPos (winuser.h)

Функция GetScrollPos извлекает текущую позицию поля прокрутки (большого пальца) в указанной полосе прокрутки. Текущая позиция является относительным значением, которое зависит от текущего диапазона прокрутки. Например, если диапазон прокрутки от 0 до 100, а поле прокрутки находится в середине полосы, текущая позиция будет 50.

Примечание Функция GetScrollPos предоставляется для обеспечения обратной совместимости. Новые приложения должны использовать функцию GetScrollInfo .
 

Синтаксис

int GetScrollPos(
  [in] HWND hWnd,
  [in] int  nBar
);

Параметры

[in] hWnd

Тип: HWND

Обработка элемента управления полосой прокрутки или окна со стандартной полосой прокрутки в зависимости от значения параметра nBar .

[in] nBar

Тип: int

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

Значение Значение
SB_CTL
Извлекает положение поля прокрутки в элементе управления полосой прокрутки. Параметр hWnd должен быть дескриптором для элемента управления полосой прокрутки.
SB_HORZ
Извлекает положение поля прокрутки на стандартной горизонтальной полосе прокрутки окна.
SB_VERT
Извлекает положение поля прокрутки на стандартной вертикальной полосе прокрутки окна.

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

Тип: int

Если функция выполняется успешно, возвращается текущее положение поля прокрутки.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

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

Чтобы получить 32-разрядную позицию поля прокрутки (большого пальца) во время SB_THUMBTRACK запроса кода в WM_HSCROLL или WM_VSCROLL сообщении , используйте функцию GetScrollInfo .

Если параметр nBar SB_CTL, а окно, указанное параметром hWnd , не является системным элементом управления полосой прокрутки, система отправляет сообщение SBM_GETPOS в окно для получения сведений о полосе прокрутки. Это позволяет GetScrollPos работать с пользовательским элементом управления, который имитирует полосу прокрутки. Если окно не обрабатывает сообщение SBM_GETPOS , функция GetScrollPos завершается ошибкой.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-misc-l1-2-0 (представлено в Windows 8.1)

См. также раздел

GetScrollInfo

GetScrollRange

Справочные материалы

SetScrollInfo

SetScrollPos

SetScrollRange

WM_HSCROLL

WM_VSCROLL