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

Функция SetScrollInfo задает параметры полосы прокрутки, включая минимальную и максимальную позиции прокрутки, размер страницы и положение поля прокрутки (большого пальца). Функция также перерисовывает полосу прокрутки при запросе.

Синтаксис

int SetScrollInfo(
  [in] HWND          hwnd,
  [in] int           nBar,
  [in] LPCSCROLLINFO lpsi,
  [in] BOOL          redraw
);

Параметры

[in] hwnd

Тип: HWND

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

[in] nBar

Тип: int

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

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

[in] lpsi

Тип: LPCSCROLLINFO

Указатель на структуру SCROLLINFO . Перед вызовом SetScrollInfo задайте для элемента cbSize структуры значение sizeof(SCROLLINFO), задайте элемент fMask , чтобы указать параметры для задания, и укажите новые значения параметров в соответствующих элементах.

Элемент fMask может иметь одно или несколько из следующих значений.

Значение Значение
SIF_DISABLENOSCROLL
Отключает полосу прокрутки вместо ее удаления, если новые параметры полосы прокрутки делают полосу прокрутки ненужной.
SIF_PAGE
Задает для страницы прокрутки значение, указанное в элементе nPage структуры SCROLLINFO , на которую указывает lpsi.
SIF_POS
Задает для позиции прокрутки значение, указанное в элементе nPos структуры SCROLLINFO , на которую указывает lpsi.
SIF_RANGE
Задает для диапазона прокрутки значение, указанное в элементах nMin и nMax структуры SCROLLINFO, на которую указывает lpsi.

[in] redraw

Тип: BOOL

Указывает, перерисовка полосы прокрутки в соответствии с изменениями в полосе прокрутки. Если этот параметр имеет значение TRUE, полоса прокрутки перерисовывается, в противном случае она не перерисовывается.

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

Тип: int

Возвращаемое значение — это текущее положение поля прокрутки.

Комментарии

Функция SetScrollInfo выполняет проверку диапазона значений, заданных элементами nPage и nPos структуры SCROLLINFO . Элемент nPage должен указать значение от 0 до nMax - nMin +1. Элемент nPos должен указывать значение между nMin и nMax - max( nPage – 1, 0). Если любое из значений выходит за пределы своего диапазона, функция присваивает ему значение, которое находится только в пределах диапазона.

Если параметр fnBar SB_CTL и окно, указанное параметром hwnd , не является системным элементом управления полосой прокрутки, система отправляет SBM_SETSCROLLINFO сообщение в окно, чтобы задать сведения о полосе прокрутки (система может оптимизировать сообщение для SBM_SETPOS или SBM_SETRANGE , если запрос предназначен исключительно для позиции или диапазона). Это позволяет SetScrollInfo работать с пользовательским элементом управления, который имитирует полосу прокрутки. Если окно не обрабатывает SBM_SETSCROLLINFO (или оптимизированное сообщение SBM_SETPOS или SBM_SETRANGE сообщение), функция SetScrollInfo завершается ошибкой.

Пример см. в разделе Прокрутка текста с помощью сообщения WM_PAINT.

Требования

   
Минимальная версия клиента 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

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

SCROLLINFO