Функция ScrollWindow (winuser.h)
Функция ScrollWindow прокручивает содержимое клиентской области указанного окна.
Синтаксис
BOOL ScrollWindow(
[in] HWND hWnd,
[in] int XAmount,
[in] int YAmount,
[in] const RECT *lpRect,
[in] const RECT *lpClipRect
);
Параметры
[in] hWnd
Тип: HWND
Дескриптор к окну, в котором должна быть прокручена клиентская область.
[in] XAmount
Тип: int
Указывает объем горизонтальной прокрутки (в единицах устройства). Если прокручиваемое окно имеет стиль CS_OWNDC или CS_CLASSDC , то этот параметр использует логические единицы, а не единицы устройств. Этот параметр должен быть отрицательным значением для прокрутки содержимого окна влево.
[in] YAmount
Тип: int
Указывает объем вертикальной прокрутки (в единицах устройства). Если прокручиваемое окно имеет стиль CS_OWNDC или CS_CLASSDC , то этот параметр использует логические единицы, а не единицы устройств. Этот параметр должен быть отрицательным значением для прокрутки содержимого окна вверх.
[in] lpRect
Тип: const RECT*
Указатель на структуру RECT , задающий прокручиваемую часть клиентской области. Если этот параметр имеет значение NULL, прокручивается вся клиентская область.
[in] lpClipRect
Тип: const RECT*
Указатель на структуру RECT , содержащую координаты прямоугольника обрезки. Затрагиваются только биты устройств в прямоугольнике обрезки. Биты, прокрученные от внешней стороны прямоугольника к внутренней части, окрашены; Биты, прокрученные от внутренней части прямоугольника к внешней стороне, не окрашены.
Возвращаемое значение
Тип: BOOL
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Если курсор находится в прокручиваемом окне, ScrollWindow автоматически скрывает курсор, чтобы предотвратить его удаление, а затем восстанавливает курсор после завершения прокрутки. Положение курсора корректируется соответствующим образом.
Область, обнаруженная ScrollWindow , не перерисовывается, но объединяется в область обновления окна. В конечном итоге приложение получает WM_PAINT сообщение с уведомлением о том, что регион необходимо перекрасить. Чтобы перекрасить обнаруженную область в то же время, когда выполняется прокрутка, вызовите функцию UpdateWindow сразу после вызова ScrollWindow.
Если параметр lpRect имеет значение NULL, позиции всех дочерних окон в окне смещаются на величину, указанную параметрами XAmount и YAmount ; Недопустимые (неокрашенных) области в окне также смещаются. ScrollWindow работает быстрее, если lpRect имеет значение NULL.
Если значение lpRect не равно NULL, позиции дочерних окон не изменяются, а недопустимые области в окне не смещаются. Чтобы избежать проблем с обновлением, когда lpRect не равно NULL, вызовите UpdateWindow , чтобы перенакрасить окно перед вызовом ScrollWindow.
Примеры
Пример см. в разделе Прокрутка текста с помощью сообщения WM_PAINT.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
Набор API | ext-ms-win-ntuser-window-l1-1-4 (представлено в Windows 10 версии 10.0.14393) |
См. также раздел
Другие ресурсы
Справочные материалы