|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
ScrollWindowEx
The ScrollWindowEx function scrolls the content of the specified window's client area. This function is similar to the ScrollWindow function, but it has additional features.
int ScrollWindowEx(
HWND hWnd, // handle of window to scroll int dx, // amount of horizontal scrolling int dy, // amount of vertical scrolling CONST RECT *prcScroll, // address of structure with scroll rectangle CONST RECT *prcClip, // address of structure with clip rectangle HRGN hrgnUpdate, // handle of update region LPRECT prcUpdate, // address of structure for update rectangle UINT flags // scrolling flags );
Parameters
hWnd
Identifies the window where the client area is to be scrolled.
dx
Specifies the amount, in device units, of horizontal scrolling. This parameter must be a negative value to scroll to the left.
dy
Specifies the amount, in device units, of vertical scrolling. This parameter must be a negative value to scroll up.
prcScroll
Points to the RECT structure specifying the portion of the client area to be scrolled. If this parameter is NULL, the entire client area is scrolled.
prcClip
Points to the RECT structure containing the coordinates of the clipping rectangle. Only device bits within the clipping rectangle are affected. Bits scrolled from the outside of the rectangle to the inside are painted; bits scrolled from the inside of the rectangle to the outside are not painted.
hrgnUpdate
Identifies the region that is modified to hold the region invalidated by scrolling. This parameter may be NULL.
prcUpdate
Points to the RECT structure receiving the boundaries of the rectangle invalidated by scrolling. This parameter may be NULL.
flags
Specifies flags that control scrolling. This parameter can be one of the following values:
Value Meaning SW_ERASE Erases the newly invalidated region by sending a WM_ERASEBKGND message to the window when specified with the SW_INVALIDATE flag. SW_INVALIDATE Invalidates the region identified by the hrgnUpdate parameter after scrolling. SW_SCROLLCHILDREN Scrolls all child windows that intersect the rectangle pointed to by the prcScroll parameter. The child windows are scrolled by the number of pixels specified by the dx and dy parameters. Windows sends a WM_MOVE message to all child windows that intersect the prcScroll rectangle, even if they do not move.
Return Values
If the function succeeds, the return value is SIMPLEREGION (rectangular invalidated region), COMPLEXREGION (nonrectangular invalidated region; overlapping rectangles), or NULLREGION (no invalidated region). If the function fails, the return value is ERROR.
Remarks
If the SW_INVALIDATE and SW_ERASE flags are not specified, ScrollWindowEx does not invalidate the area that is scrolled from. If either of these flags is set, ScrollWindowEx invalidates this area. The area is not updated until the application calls the UpdateWindow function, calls the RedrawWindow function (specifying the RDW_UPDATENOW or RDW_ERASENOW flag), or retrieves the WM_PAINT message from the application queue. If the window has the WS_CLIPCHILDREN style, the returned areas specified by hrgnUpdate and prcUpdate represent the total area of the scrolled window that must be updated, including any areas in child windows that need updating.
If the SW_SCROLLCHILDREN flag is specified, Windows does not properly update the screen if part of a child window is scrolled. The part of the scrolled child window that lies outside the source rectangle is not erased and is not properly redrawn in its new destination. To move child windows that do not lie completely within the rectangle specified by prcScroll, use the DeferWindowPos function. The cursor is repositioned if the SW_SCROLLCHILDREN flag is set and the caret rectangle intersects the scroll rectangle.
All input and output coordinates (for prcScroll, prcClip, prcUpdate, and hrgnUpdate) are determined as client coordinates, regardless of whether the window has the CS_OWNDC or CS_CLASSDC class style. Use the LPtoDP and DPtoLP functions to convert to and from logical coordinates, if necessary.
See Also
DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, ScrollDC, ScrollWindow, UpdateWindow
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
ScrollWindowEx
Функция ScrollWindowEx перемещает содержимое области клиента определенного окна. Эта функция подобная функции ScrollWindow, но у него есть дополнительные характеристики.
int ScrollWindowEx(
HWND hWnd, // РУЧКА окна, чтобы перемещать int dx, // сумму горизонтальной прокрутки int dy, // сумма вертикальной прокрутки CONST RECT *prcScroll, // адрес структуры с перемещать прямоугольник CONST RECT *prcClip, // адрес структуры с прямоугольником клипа HRGN hrgnUpdate, // ручки региона коррекции LPRECT prcUpdate, // адреса структуры для прямоугольника коррекции UINT сигнализирует // прокрутку флагов );
Параметры
hWnd
Идентифицирует окно где область клиента должна быть перемещена.
dx
Определяет сумму, на устройствах устройства, горизонтальной прокрутки. Этот параметр должен быть отрицательной величиной, чтобы перемещаться налево.
dy
Определяет сумму, на устройствах устройства, вертикальной прокрутки. Этот параметр должен быть отрицательной величиной, чтобы перемещать по.
prcScroll
Точки на структуру RECT, определяющие часть области клиента, который нужно перемещаться. Если этот параметр НЕДЕЙСТВИТЕЛЕН, целая область клиента перемещена.
prcClip
Точки на структуру RECT, содержащие координаты вырезать прямоугольника. Биты Только устройства в пределах вырезать прямоугольника воздействованы. Биты перемещенные из outside of прямоугольник на inside закрашен; биты перемещенные из внутренности прямоугольника во внешний не закрашены.
hrgnUpdate
Идентифицирует регион, который модифицирован, чтобы держать регион аннулированный прокруткой. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН.
prcUpdate
Точки на структуру RECT, получающие границы прямоугольника аннулировались прокруткой. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН.
флаги
Определяет флагам эту управляющую прокрутку. Этот параметр может быть одним из следующего величин:
Значение Величины SW_ERASE Стирает вновь аннулировать регион посылая сообщение WM_ERASEBKGND в окно когда определено флагом SW_INVALIDATE. SW_INVALIDATE Аннулирует регион идентифицированный параметром hrgnUpdate после прокрутки. SW_SCROLLCHILDREN Перемещает все окно ребенка, что пересекать прямоугольник указывался, чтобы параметром prcScroll. Окно ребенка перемещено количеством пикселей определенных dx и dy параметрами. Окно посылает сообщение WM_MOVE во все окно ребенка, что пересекать прямоугольник prcScroll, даже если бы они не перемещают.
Обратные Величины
Если функция добивается успеха, обратная величина - SIMPLEREGION (прямоугольный аннулировать регион), COMPLEXREGION (nonrectangular аннулировавшее регион; перекрывая прямоугольники), или NULLREGION (никакой аннулировать регион). Если функция терпит неудачу, обратная величина является ОШИБКОЙ.
Замечания
Если SW_INVALIDATE и флаги SW_ERASE не определены, ScrollWindowEx не аннулирует область, которая перемещена из. Если любой из этих флагов установлены, ScrollWindowEx аннулирует эту область. Область не скорректирована пока приложение не вызовет функцию UpdateWindow, вызовет функцию RedrawWindow (определение RDW_UPDATENOW или флаг RDW_ERASENOW) или извлекает сообщение WM_PAINT из прикладной очереди. Если окно имеет стиль WS_CLIPCHILDREN, возвращанные области определялись hrgnUpdate и prcUpdate представляет общую область прокрученного окна, которое должно быть скорректировано, включая любые области в окне ребенка, что нужно обновление.
Если флаг SW_SCROLLCHILDREN определен, Окно не правильно корректирует экран если часть окна ребенка перемещена. Часть прокрученного окна ребенка, который лежит (лгать) за пределами исходного прямоугольника не выстиран и - не правильно redrawn в своем новом расположении. Для того, чтобы перемещать окно ребенка, что не лежать полностью в пределах прямоугольника определенного prcScroll, используйте функцию DeferWindowPos. Курсор repositioned если флаг SW_SCROLLCHILDREN установлен и символ ^ прямоугольника пересекать перемещать прямоугольник.
Все вводятся и выходные координаты (для prcScroll, prcClip, prcUpdate, и hrgnUpdate), определены как координаты клиента, независимо от того, что окно имеет CS_OWNDC или стиль класса CS_CLASSDC. Используйте LPtoDP и функции DPtoLP, чтобы преобразовываться на и из логических координат, если необходимо.
Смотри Также
DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, ScrollDC, ScrollWindow, UpdateWindow
|
|
|
|
| |