ScrollDC function (winuser.h)
The ScrollDC function scrolls a rectangle of bits horizontally and vertically.
BOOL ScrollDC(
[in] HDC hDC,
[in] int dx,
[in] int dy,
[in] const RECT *lprcScroll,
[in] const RECT *lprcClip,
[in] HRGN hrgnUpdate,
[out] LPRECT lprcUpdate
);
[in] hDC
Type: HDC
Handle to the device context that contains the bits to be scrolled.
[in] dx
Type: int
Specifies the amount, in device units, of horizontal scrolling. This parameter must be a negative value to scroll to the left.
[in] dy
Type: int
Specifies the amount, in device units, of vertical scrolling. This parameter must be a negative value to scroll up.
[in] lprcScroll
Type: const RECT*
Pointer to a RECT structure containing the coordinates of the bits to be scrolled. The only bits affected by the scroll operation are bits in the intersection of this rectangle and the rectangle specified by lprcClip. If lprcScroll is NULL, the entire client area is used.
[in] lprcClip
Type: const RECT*
Pointer to a RECT structure containing the coordinates of the clipping rectangle. The only bits that will be painted are the bits that remain inside this rectangle after the scroll operation has been completed. If lprcClip is NULL, the entire client area is used.
[in] hrgnUpdate
Type: HRGN
Handle to the region uncovered by the scrolling process. ScrollDC defines this region; it is not necessarily a rectangle.
[out] lprcUpdate
Type: LPRECT
Pointer to a RECT structure that receives the coordinates of the rectangle bounding the scrolling update region. This is the largest rectangular area that requires repainting. When the function returns, the values in the structure are in client coordinates, regardless of the mapping mode for the specified device context. This allows applications to use the update region in a call to the InvalidateRgn function, if required.
Type: BOOL
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If the lprcUpdate parameter is NULL, the system does not compute the update rectangle. If both the hrgnUpdate and lprcUpdate parameters are NULL, the system does not compute the update region. If hrgnUpdate is not NULL, the system proceeds as though it contains a valid handle to the region uncovered by the scrolling process (defined by ScrollDC).
When you must scroll the entire client area of a window, use the ScrollWindowEx function.
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Target Platform | Windows |
Header | winuser.h (include Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API set | ext-ms-win-ntuser-misc-l1-5-0 (introduced in Windows 10, version 10.0.10240) |
Other Resources
Reference