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

Функция ScrollWindow прокручивает содержимое клиентской области указанного окна.

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

Синтаксис

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)

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

Другие ресурсы

RECT

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

ScrollDC

ScrollWindowEx

UpdateWindow