Функция 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
Указывает тип полосы прокрутки, для которой задаются параметры. Этот параметр может принимать одно из указанных ниже значений.
[in] lpsi
Тип: LPCSCROLLINFO
Указатель на структуру SCROLLINFO . Перед вызовом SetScrollInfo задайте для элемента cbSize структуры значение sizeof(SCROLLINFO), задайте элемент fMask , чтобы указать параметры для задания, и укажите новые значения параметров в соответствующих элементах.
Элемент fMask может иметь одно или несколько из следующих значений.
Значение | Значение |
---|---|
|
Отключает полосу прокрутки вместо ее удаления, если новые параметры полосы прокрутки делают полосу прокрутки ненужной. |
|
Задает для страницы прокрутки значение, указанное в элементе nPage структуры SCROLLINFO , на которую указывает lpsi. |
|
Задает для позиции прокрутки значение, указанное в элементе nPos структуры SCROLLINFO , на которую указывает lpsi. |
|
Задает для диапазона прокрутки значение, указанное в элементах 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) |
См. также раздел
Справочные материалы