函数功能:该函数滚动所指定的窗体客户区域内容。函数提供了向后兼容性,新的应用程序应使用ScrollWindowEX。
1 2 |
BOOL ScrollWindow(HWND hWnd,int XAmount,int YAmount,CONST RECT* IpRect, CONST RECT* lpClipRect); |
参数:
hWnd:客户区域将被滚动的窗体句柄。
XAmount:指定水平滚动以设备为单位的数量。如果窗体被滚动模式为CS_OWNDC或CS_CLASSDC,此参数则使用逻辑单位而不使用设备单位。当向左滚动窗体内容时,参数值必须为负。
YAmount:指定垂直滚动设备单位数量。如果窗体被滚动模式为CS_OWNDC或CS_CLASSDC,此参数则使用逻辑单位而不使用设备单位。当向上滚动窗体内容时,参数值必须为负。
lpRect:指向所指定将被滚动的客户区域部分的RECT结构。若此参数为NULL,则整个客户区域均被滚动。
lpClipRect:指向包含类似于剪辑滚动条RECT结构。只有剪辑矩形条内部的位受影响。由外向内的滚动矩形内部被着色,而由矩形内向外的滚动将不被着色。
返回值:如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用GetLastError函数。
注意:如果在被滚动的窗体中由^符,滚动富体将自动隐藏起^符,以防止它被擦掉;当滚动结束后再恢复^符。^符的位置因而被调整过来。
未被ScrollWindow覆盖的区域不再被重画,但它组合成窗体的更新区域。应用程序最终最终受到 WM_PAINT的消息,通知它区域必须被重画。为了在滚动过程的同时重画未覆盖区域,则应在调用ScrollWindow函数后马上调用UpdateWindow函数。
如果参数lpRect为空,则窗体中的任何子窗体的位置由参数XAmount和Yamount种的数量决定偏移;窗体无效(未着色)的区域也进行偏移。IpRect为空时ScrollWindow则更快。
如果参数lpRect不为空,则窗体中的子窗体的位置不改变,窗体中无效(未着色)的区域也不进行偏移。为了防止lpRect不为空时更新的问题,则在调用ScrollWindow之前先调用UpdateWindow函数重窗体。
速查:Windows NT 3.1、Windows 95以上,头文件:winuser.h;库文件:user32.lib。