ScrollWindowEx

【勇芳软件工作室】汉化HomePreviousNext

ScrollWindowEx功能滚动指定窗口的客户区域的内容。此函数与ScrollWindow功能类似,但具有其他功能。

int ScrollWindowEx(

HWND 【的hWnd】,//处理窗口滚动
INT 【dx】,//水平滚动量
INT 【dy】,//垂直滚动量
CONST RECT *【// address of structure with scroll rectangle】,//具有滚动矩形的结构的地址
CONST RECT *【// address of structure with clip rectangle】,//具有剪辑矩形的结构的地址
HRGN 【hrgnUpdate】,//更新区域的句柄
LPRECT 【// scrolling flags】,//更新矩形结构的地址
UINT 【旗】//滚动标志
); 

参数

【的hWnd】

标识要滚动客户端区域的窗口。

【dx】

指定水平滚动的设备单位数量。该参数必须是负值才能向左滚动。

【dy】

指定垂直滚动的设备单位数量。该参数必须是负值才能向上滚动。

【// address of structure with scroll rectangle】

指向RECT结构,指定要滚动的客户区域的部分。如果此参数为NULL,则将滚动整个客户机区域。

【// address of structure with clip rectangle】

指向包含裁剪矩形坐标的RECT结构。只有剪裁矩形中的设备位才会受到影响。从矩形外部滚动到内侧的位被画;从矩形的内部滚动到外面的位没有画。

【hrgnUpdate】

标识修改为通过滚动保持区域无效的区域。此参数可能为NULL。

【// scrolling flags】

指向通过滚动无效的RECT结构的边界。此参数可能为NULL。

【旗】

指定控制滚动的标志。此参数可以是以下值之一:

含义
SW_ERASE当使用SW_INVALIDATE标志指定时,通过向窗口发送WM_ERASEBKGND消息来清除新的无效区域。
SW_INVALIDATE使滚动后的【hrgnUpdate】参数标识的区域无效。
SW_SCROLLCHILDREN滚动与【// address of structure with scroll rectangle】参数指向的矩形相交的所有子窗口。子窗口按【dx】【dy】参数指定的像素数滚动。Windows发送WM_MOVE消息到与【// address of structure with scroll rectangle】矩形相交的所有子窗口,即使它们不移动。

返回值

如果函数成功,返回值为SIMPLEREGION(矩形无效区域),COMPLEXREGION(非矩形无效区域,重叠矩形)或NULLREGION(无效区域)。

如果函数失败,返回值为ERROR。

备注

如果未指定SW_INVALIDATE和SW_ERASE标志,ScrollWindowEx不会使滚动的区域无效。如果这些标志中的任一个被设置,ScrollWindowEx将使该区域无效。直到应用程序调用{??989796127}函数,调用RedrawWindow函数(指定RDW_UPDATENOW或RDW_ERASENOW标志)或从应用程序队列检索WM_PAINT消息之后,才会更新该区域。

如果窗口具有WS_CLIPCHILDREN样式,则由【hrgnUpdate】【// scrolling flags】指定的返回区域表示必须更新的滚动窗口的总面积,包括需要更新的子窗口中的任何区域。

如果指定了SW_SCROLLCHILDREN标志,则如果滚动子窗口的一部分,Windows将不会正确更新该屏幕。位于源矩形外部的滚动子窗口的部分不会被清除,并且未在其新目标中重新绘制。要移动不完全位于【// address of structure with scroll rectangle】指定的矩形内的子窗口,请使用DeferWindowPos功能。如果设置了SW_SCROLLCHILDREN标志并且插入符号矩形与滚动矩形相交,则光标重新定位。

无论窗口是否具有CS_OWNDC或CS_CLASSDC类样式,所有输入和输出坐标(对于【// address of structure with scroll rectangle】【// address of structure with clip rectangle】【// scrolling flags】【hrgnUpdate】)都被确定为客户端坐标。如果需要,可以使用LPtoDPDPtoLP函数来转换逻辑坐标。

也可以看看

DeferWindowPos, DPtoLP, LPtoDP, RECT, RedrawWindow, ScrollDC, ScrollWindow, UpdateWindow