IDCompositionSurface::Scroll 方法 (dcomp.h)
滚动 Microsoft DirectComposition 逻辑图面的矩形区域。
语法
HRESULT Scroll(
[in] const RECT *scrollRect,
[in, optional] const RECT *clipRect,
[in] int offsetX,
[in] int offsetY
);
参数
[in] scrollRect
要滚动的图面的矩形区域,相对于图面的左上角。 如果此参数为 NULL,则滚动整个图面。
[in, optional] clipRect
clipRect 在滚动的偏移) 后剪辑目标 (scrollRect。 将滚动的唯一位图内容是在滚动完成后保留在剪辑矩形内的位图内容。
[in] offsetX
水平滚动量(以像素为单位)。 使用正值向右滚动,使用负值向左滚动。
[in] offsetY
垂直滚动量(以像素为单位)。 使用正值向下滚动,使用负值向上滚动。
返回值
如果函数成功,则返回S_OK。 否则,将返回 HRESULT 错误代码。 有关 错误代码的列表,请参阅 DirectComposition 错误代码 。
备注
此方法允许应用程序 blt/复制 DirectComposition 图面对象的子矩形。 这可避免重新呈现已可用的内容。
scrollRect 矩形必须包含在图面的边界中。 如果 scrollRect 矩形超出图面的边界,此方法将失败。
滚动操作 (源) 复制的位由 scrollRect 和 clipRect 矩形的交集定义。
屏幕上显示的位 (目标) 由偏移源矩形和 clipRect 的交集定义。
只能在调用 BeginDraw 之前或调用 EndDraw 之后调用滚动操作。 暂停或恢复的图面不是滚动的候选项,因为它们仍在更新。
应用程序负责确保 IDCompositionVirtualSurface 的可滚动区域限制为有效的像素。 scrollRect 中无效像素的行为未定义。
即使在同一批中应用了剪裁或调整大小操作,也无法滚动被剪裁或调整大小的虚拟图面子矩形区域。 将立即应用剪裁和调整大小。
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | dcomp.h |
Library | Dcomp.lib |
DLL | Dcomp.dll |