Шаг 191 - CWnd::ScrollWindow

void ScrollWindow( int xAmount, int yAmount, LPCRECT lpRect = NULL, LPCRECT lpClipRect = NULL );

Параметры
xAmount
Определяет количество в модулях устройства горизонтальной прокрутки. Этот параметр должен быть отрицательным чтобы прокрутиться налево
yAmount
Определяет количество в модулях устройства вертикальной прокрутки. Этот параметр должен быть отрицательным чтобы прокрутиться вверх.
lpRect
Указатель на объект CRect или структуру RECT, которая определяет часть клиентской области, которая будет прокручена. Если lpRect NULL вся клиентская область прокручена. Символ курсора снова установлен, если прямоугольник курсора пересекает прямоугольник прокрутки.
lpClipRect
Укажите на объект CRect или структуру RECT, которая определяет прямоугольник отсечения, чтобы прокрутиться. Только биты внутри этого прямоугольника прокручены. На биты снаружи этого прямоугольника не воздействуют, даже если они находятся в lpRect прямоугольнике. Если lpClipRect NULL никакое отсечение не выполняется на прямоугольнике прокрутки.

Замечания
Прокручивает содержание клиентской области текущего объекта CWnd. Если символ курсора находится в прокручиваемом CWnd, ScrollWindow автоматически скрывает символ курсора чтобы предотвратить его уничтожения и затем восстанавливает символ курсора после того, как прокрутка закончена. Позиция символа курсора откорректирована соответственно.
Область, раскрытая ScrollWindow функцией не перерисовывается но объединяется в текущую область модификации объекта CWnd. Прикладная программа в конечном счете получит WM_PAINT сообщение что область нуждается в перезакрашивании. Чтобы повторно красить раскрытую область в то же самое время когда прокрутка выполнена вызывайте UpdateWindow функцию немедленно после вызова ScrollWindow.
Если lpRect NULL, позиции любых дочерних окон в окне смещаються по значению определенным xAmount и yAmount, и любые недопустимые области в CWnd - также смещены. ScrollWindow быстрее, когда lpRect NULL
Если lpRect - не NULL позиции дочерних окон не изменяеться и недопустимые области в CWnd - не смещаются. Чтобы предотвращать проблемы модифицирования, когда lpRect - не NULL вызывайте UpdateWindow функцию чтобы повторно красить CWnd перед вызовом ScrollWindow.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.12.2001