转贴地址: http://baike.baidu.com/view/1034299.htm
ScrollWindow
编辑本段 函数功能
该函数滚动所指定的窗口客户区域内容。函数提供了向后兼容性,新的应用程序应使用 ScrollWindowEX 。编辑本段 函数原型
BOOL ScrollWindow(HWND hWnd, int XAmount, int YAmount, CONST RECT *IpRect, CONST RECT *lpClipRect);编辑本段 参数
hWnd [in]客户区域将被滚动的窗口的 句柄 。 XAmount [in]指定水平滚动的距离,以设备单位计。如果窗口类风格为CS_OWNDC或CS_CLASSDC,则此参数则使用逻辑单位而非设备单位。当向左滚动窗体内容时,参数值必须为负。 YAmount [in]指定垂直滚动的距离,以设备单位计。如果窗口类风格为CS_OWNDC或CS_CLASSDC,则此参数则使用逻辑单位而非设备单位。当向上滚动窗体内容时,参数值必须为负。 lpRect [in]指向 RECT 结构的指针,该结构指定了将要滚动的客户区范围。若此参数为NULL,则整个客户区域将被滚动。 lpClipRect [in]指向RECT结构的指针,该结构指定了要滚动的裁剪区域。只有这个矩形中的位才会被滚动。在矩形之外的位不会被影响,即使它们是在lpRect矩形之内。(见代码"测试一")假如lpClipRect为NULL,则不会在滚动矩形上进行裁剪。编辑本段 返回值
如果函数运行成功,返回值为非零;如果函数运行失败,返回值为零。若想获得更多的错误信息,请调用 GetLastError 函数。编辑本段 注意
如果在被滚动的窗口中含有 ^ 符, ScrollWindow 将自动隐藏起 ^ 符,以防它被擦掉;当滚动结束后再恢复 ^ 符。 ^ 符的位置相应的被调整过来。 未被 ScrollWindow 覆盖的区域不再重画,但该区域会与窗口更新区域组合。应用程序最终收到WM_PAINT的消息,通知它结合区域必须被重画。为了在滚动操作的同时重画未覆盖区域,则应在调用 ScrollWindow 函数后马上调用 UpdateWindow 函数。 如果参数lpRect为NULL,则窗口中的任何子窗口的位置由参数XAmount和Yamount的数值决定偏移;窗体无效(未着色)的区域也偏移。IpRect为NULL时ScrollWindow执行地更快。 如果参数lpRect不为NULL,则窗口中的子窗口的位置不改变,窗口中无效(未着色)的区域也不偏移。为了防止lpRect不为NULL时更新的问题,需要在调用 ScrollWindow 前调用 UpdateWindow 函数重绘窗口。编辑本段 函数信息
最低DLL版本:comctl32.dll 头文件:在Winuser.h中声明,调用时需包含Windows.h 导入库:user32.lib 最低系统版本:Windows 95, Windows NT 3.1及以上版本-
扩展阅读:
-
- 1
MSDN:ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en /shellcc/platform/commctls/scrollbars/scrollbarreference/scrollbarfunctions/scrollwindow.htm
- 1