ScrollWindowEx 函数 (winuser.h)
ScrollWindowEx 函数滚动指定窗口工作区的内容。
语法
int ScrollWindowEx(
[in] HWND hWnd,
[in] int dx,
[in] int dy,
[in] const RECT *prcScroll,
[in] const RECT *prcClip,
[in] HRGN hrgnUpdate,
[out] LPRECT prcUpdate,
[in] UINT flags
);
参数
[in] hWnd
类型: HWND
要滚动工作区的窗口的句柄。
[in] dx
类型: int
指定水平滚动的量(以设备单位表示)。 此参数必须是负值才能向左滚动。
[in] dy
类型: int
指定垂直滚动的量(以设备单位表示)。 此参数必须是负值才能向上滚动。
[in] prcScroll
类型: const RECT*
指向 RECT 结构的指针,该结构指定要滚动的工作区部分。 如果此参数为 NULL,则会滚动整个工作区。
[in] prcClip
类型: const RECT*
指向包含剪裁矩形坐标的 RECT 结构的指针。 仅剪裁矩形中的设备位受到影响。 绘制从矩形外部滚动到内部的位;不会绘制从矩形内部滚动到外部的位。 此参数可以为 NULL。
[in] hrgnUpdate
类型: HRGN
修改为保留通过滚动使区域失效的区域的句柄。 此参数可以为 NULL。
[out] prcUpdate
类型: LPRECT
指向 RECT 结构的指针,该结构接收因滚动而失效的矩形的边界。 此参数可以为 NULL。
[in] flags
类型: UINT
指定控制滚动的标志。 此参数可以是以下值的组合。
值 | 含义 |
---|---|
|
使用 SW_INVALIDATE 标志指定时,通过将 WM_ERASEBKGND 消息发送到窗口来擦除新失效的区域。 |
|
滚动后, 由 hrgnUpdate 参数标识的区域失效。 |
|
滚动与 prcScroll 参数指向的矩形相交的所有子窗口。 子窗口按 dx 和 dy 参数指定的像素数滚动。 系统向与 prcScroll 矩形相交的所有子窗口发送WM_MOVE消息,即使它们不移动也是如此。 |
|
使用平滑滚动进行滚动。 使用 flags 参数的 HIWORD 部分来指示平滑滚动操作需要多少时间(以毫秒为单位)。 |
返回值
类型: int
如果函数成功,则返回值为 SIMPLEREGION (矩形无效区域) ,COMPLEXREGION (非矩形无效区域;重叠矩形) ,或 NULLREGION (没有无效的区域) 。
如果函数失败,则返回值为 ERROR。 要获得更多的错误信息,请调用 GetLastError。
注解
如果未指定SW_INVALIDATE和SW_ERASE标志, ScrollWindowEx 不会使滚动区域失效。 如果设置了其中任一标志, ScrollWindowEx 将使此区域失效。 在应用程序调用 UpdateWindow 函数、调用 RedrawWindow 函数 (指定RDW_UPDATENOW或RDW_ERASENOW标志) 或从应用程序队列检索 WM_PAINT 消息之前,区域才会更新。
如果窗口具有 WS_CLIPCHILDREN 样式,则 hrgnUpdate 和 prcUpdate 指定的返回区域表示必须更新的滚动窗口的总区域,包括子窗口中需要更新的任何区域。
如果指定了SW_SCROLLCHILDREN标志,则当滚动子窗口的一部分时,系统不会正确更新屏幕。 位于源矩形外部的滚动子窗口部分不会被擦除,并且未在其新目标中正确重绘。 若要移动不完全位于 prcScroll 指定的矩形内的子窗口,请使用 DeferWindowPos 函数。 如果设置了SW_SCROLLCHILDREN标志并且插入点矩形与滚动矩形相交,则光标将重新定位。
无论窗口是CS_OWNDC还是CS_CLASSDC类样式, (prcScroll、prcClip、prcUpdate 和 hrgnUpdate) 的所有输入和输出坐标都确定为客户端坐标。 如有必要,使用 LPtoDP 和 DPtoLP 函数与逻辑坐标进行转换和转换。
示例
有关示例,请参阅 使用WM_PAINT消息滚动文本。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | 在 Windows 8.1) 中引入的 ext-ms-win-ntuser-misc-l1-2-0 ( |
另请参阅
其他资源