ScrollDC 函数 (winuser.h)

ScrollDC 函数水平和垂直滚动位矩形。

语法

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

类型: HDC

包含要滚动的位的设备上下文的句柄。

[in] dx

类型: int

指定水平滚动的量(以设备单位表示)。 此参数必须是负值才能向左滚动。

[in] dy

类型: int

指定垂直滚动的量(以设备单位表示)。 此参数必须是负值才能向上滚动。

[in] lprcScroll

类型: const RECT*

指向包含要滚动的位坐标的 RECT 结构的指针。 受滚动操作影响的唯一位是此矩形与 lprcClip 指定的矩形交集中的位。 如果 lprcScrollNULL,则使用整个工作区。

[in] lprcClip

类型: const RECT*

指向包含剪裁矩形坐标的 RECT 结构的指针。 将绘制的唯一位是滚动操作完成后保留在此矩形内的位。 如果 lprcClipNULL,则使用整个工作区。

[in] hrgnUpdate

类型: HRGN

滚动进程发现的区域的句柄。 ScrollDC 定义此区域;它不一定是矩形。

[out] lprcUpdate

类型: LPRECT

指向 RECT 结构的指针,该结构接收滚动更新区域边界的矩形的坐标。 这是需要重新绘制的最大矩形区域。 当函数返回时,结构中的值采用客户端坐标,而不考虑指定设备上下文的映射模式。 这允许应用程序在调用 InvalidateRgn 函数时使用更新区域(如果需要)。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

如果 lprcUpdate 参数为 NULL,则系统不会计算更新矩形。 如果 hrgnUpdatelprcUpdate 参数均为 NULL,则系统不会计算更新区域。 如果 hrgnUpdate 不为 NULL,则系统继续操作,就像它包含滚动进程所发现区域的有效句柄一样, (ScrollDC) 定义。

当必须滚动窗口的整个工作区时,请使用 ScrollWindowEx 函数。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 ext-ms-win-ntuser-misc-l1-5-0 (在 Windows 10 版本 10.0.10240 中引入)

另请参阅

InvalidateRgn

其他资源

矩形

引用

ScrollWindowEx