Си. \locbl-sources\chaplO\10-02.txt
ScroilWindowEx • Windows 98 • Windows 2000 |
||||
Описание |
Функция ScroilWindowEx выполняет прокрутку содержимого клиентской области указанного окна. Функция ScroilWindowEx аналогична функции ScrollDC, за исключением того, что ScroilWindowEx работает с дескриптором окна, a ScrollDC — с контекстом устройства (DC). |
|||
Синтаксис |
int ScrollWindowEx( HWND hWnd, int dx, int dy, CONST RECT* IprcScroll, CONST RECT* IprcClip, HRGN HrgnUpdate, LPRECT IprcUpdate, UINT uScroll) |
|||
Параметры |
||||
hWnd |
HWND. Дескриптор окна, в клиентской области которого должна быть выполнена прокрутка. |
|||
dx |
int. Величина горизонтальной прокрутки в единицах длины устройства. Чтобы была выполнена прокрутка влево, этот параметр должен иметь отрицательное значение |
|||
dy |
int. Величина вертикальной прокрутки в единицах длины устройства. Чтобы была выполнена прокрутка вверх, этот параметр должен иметь отрицательное значение. |
|||
IprcScroll |
CONST RECT*. Указатель на структуру RECT, определяющую часть клиентской области, в которой должна быть выполнена прокрутка. Если этот параметр — NULL, будет выполнена прокрутка всей клиентской области. |
|||
IprcClip |
CONST RECT*. Указатель на структуру RECT, которая содержит координаты прямоугольной области отсечения. Выполняется прокрутка только области, находящейся внутри прямоугольной области отсечения. |
|||
hrgn Update |
HRGN. Область, раскрытая в процессе прокрутки. Эту область определяет функция ScrollDC; она может не быть прямоугольной. Значение этого параметра может быть установлено в NULL. |
|||
Iprc Update |
LPRECT. Указатель на структуру RECT, которая принимает координаты прямоугольной области, ограничивающей прокручиваемую область обновления. Это — самая большая прямоугольная область, в клиентских координатах, которая требует повторного вывода. Значение этого параметра может быть установлено в NULL. |
|||
uScroll |
UINT. Флажки, которые управляют прокруткой. В качестве этого параметра может быть установлено одно или несколько значений, приведенных в табл. 10.8, объединенных с помощью двоичного оператора OR (). |
|||
Возвращаемое значение |
int. SIMPLEREGION (недействительной объявлена прямоугольная область), COMPLEXREGION (недействительной объявлена непрямоугольная область; перекрывающиеся прямоугольные области) или NULLREGION (ни одна область не объявлена недействительной). В ином случае возвращаемое значение — ERROR |
|||
Таблица 10.8. ЗначенияпараметраuScroll функцииScroilWindowEx |
||||
Значение |
Описание |
|||
SW_ERASE |
Если указан также флажок SW_INVALIDATE, стереть область, объявленную недействительной. |
|||
SWJNVALIDATE |
Объявить недействительной область, показанную после прокрутки. |
|||
SW_SCROLLCHILDREN |
Выполнить прокрутку всех дочерних окон, которые пересекают прямоугольную область, указанную параметром IprcScroll. В дочерних окнах выполняется прокрутка на число пикселей, указанных параметрами dx и dy. Windows посылает сообщения WM_MOVE всем дочерним окнам, которые пересекают прямоугольную область IprcScroll, даже если они не двигались. |
|||
SW_SMOOTHSCROLL |
Выполнить прокрутку с применением плавной прокрутки. Для указания продолжительности плавной прокрутки (в миллисекундах) служит часть HIWORD параметра uScroll. |
|||
Включаемый файл |
winuser.h |
|||
См. также |
ScrollDC, DeferWindowPos |
|||
Соответствуют |
те сообщения |
|||
WM_VSCROLL, WM_HSCROLL, WM_MOVE, WM_PAINT |
||||
Пример |
Следующий пример аналогичен приведенному в описании функции SetScrollInfo, но в нем применяется дополнительная логика прокрутки. Когда пользователь выбирает пункт меню Test!, к списку добавляется строка. Когда пользователь выбирает стрелку вверх или стрелку вниз на линейке прокрутки, линейка прокрутки прокручивается за один раз на одну строку. На рис. 10.6 показан список из десяти элементов, в котором выполнена прокрутка к последнему элементу: |
|||
См. \lpcal-eources\chaplO\10-03.txt
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.