Шаг 192 - CWnd::ScrollWindowEx

int ScrollWindowEx( int dx, int dy, LPCRECT lpRectScroll,
	LPCRECT lpRectClip, CRgn* prgnUpdate, LPRECT lpRectUpdate, UINT flags ); 

Возвращаемое значение
Возвращаемое значение - SIMPLEREGION(прямоугольная область лишенная законной силы), COMPLEXREGION (непрямоугольная область лишенная законной силы) или NULLREGION(никакой области лишенный законной силы нет), если функция успешна. При ошибке возвращаемое значение - ERROR.

Параметры
dx
Определяет количество в модулях устройства горизонтальной прокрутки. Этот параметр должен иметь отрицательное значение чтобы прокрутиться налево
dy
Определяет количество в модулях устройства вертикальной прокрутки. Этот параметр должен иметь отрицательное значение чтобы прокрутиться вверх.
lpRectScroll
Указатель на структуру RECT, которая определяет часть клиентской области которая будет прокручена. Если этот параметр NULL вся клиентская область прокручена.
lpRectClip
Указатель на структуру RECT, которая определяет прямоугольник отсечения, чтобы прокрутиться. Эта структура имеет приоритет над прямоугольником, указанным на lpRectScroll. Только биты внутри этого прямоугольника прокручены. На биты снаружи этого прямоугольника не воздействует даже если они находятся в lpRectScroll прямоугольнике. Если этот параметр NULL никакое отсечение не выполняется на прямоугольнике прокрутки.
prgnUpdate
Идентифицирует область которая изменяется чтобы задержать область лишенную законной силы листая. Этот параметр может быть NULL.
lpRectUpdate
Указатель на структуру RECT которая получит границы прямоугольника лишенного законной силы листая. Этот параметр может быть NULL
flags
Может Иметь одно из следующих значений:

Замечания
Листает содержание клиентской области окна. Эта функция подобна функции ScrollWindow, с некоторыми дополнительными свойствами.
Если SW_INVALIDATE и SW_ERASE не определены, ScrollWindowEx функция не объявляет неверным область, которая прокручена. Если любой из этих флажков установлен, ScrollWindowEx объявляет неверным эту область. Область не модифицируется до вызовов из прикладной программы UpdateWindow функции , вызывает RedrawWindow функцию (определяя RDW_UPDATENOW или RDW_ERASENOW), или получает WM_PAINT сообщение из очереди прикладных программы.
Если окно имеет WS_CLIPCHILDREN стиль возвращенные области определенные prgnUpdate и lpRectUpdate представляют общую область прокрученного окна которые должны модифицироваться, включая любые области в дочерних окнах.
Если флажок SW_SCROLLCHILDREN определен, Windows не будет правильно модифицировать экран, если часть дочернего окна прокручена. Часть прокрученного дочернего окна, которое находится снаружи исходного прямоугольника, не будет уничтожена и не будет повторно выведена правильно в новом адресе. Используйте функцию DeferWindowPos Windows, чтобы переместить дочерние окна, которые не находятся полностью внутри lpRectScroll прямоугольника. Курсор снова установлен, если флажок SW_SCROLLCHILDREN установлен, и прямоугольник курсора пересекает прямоугольник прокрутки. Весь ввод и вывод координат (для lpRectScroll, lpRectClip, lpRectUpdate, и prgnUpdate) в пользовательских координатах независимо от того, имеет ли окно стиль класса CS_OWNDC или CS_CLASSDC. Используйте LPTODP и DPTOLP функции Windows, чтобы преобразоваться в и из логического координат в случае необходимости.


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