設置 | 登錄 | 註冊

作者共發了16篇帖子。

【API】ScrollWindow和ScrollWindowEx的用法

11樓 巨大八爪鱼 2016-4-26 22:18
楼上是第三、四个参数都不为NULL的例子。

总的来说,第三个参数决定要把哪块区域剪下来平移(如果为NULL就把整个客户区剪下来平移),第四个参数是决定平移之后哪块区域需要反映到屏幕上(如果为NULL的话就把所作的改动全部反映到屏幕上)。
平移后暴露出来的区域都会自动交给WM_PAINT处理。
12樓 巨大八爪鱼 2016-4-26 22:27
至于ScrollWindowEx函数,前四个完全一样。
第六个是输出参数,表示滚动后哪个区域暴露出来了。
例如在上面的程序中(160,50)(200,70)这块40x20的矩形就被暴露出来了。
13樓 巨大八爪鱼 2016-4-26 22:36
第五个参数和第六个参数作用一样,只不过是HRGN类型的变量(存放任意形状的区域)。
14樓 巨大八爪鱼 2016-4-26 22:38

当重绘区域是不规则图形时,HRGN能精确地保存这个区域。
15樓 巨大八爪鱼 2016-4-26 22:40

但是RECT不能精确保存这个区域。它只能表示重绘区域所在的最小矩形区域。
16樓 巨大八爪鱼 2016-4-27 10:17
//  返回值表示操作是否成功
BOOL ScrollDC(HDC hDC, int dx, int dy, const RECT *lprcScroll,  const RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate);
BOOL ScrollWindow(HWND hWnd, int XAmount, int YAmount, const RECT *lpRect, const RECT *lpClipRect);

// 返回值: 暴露出据矩形区域SIMPLEREGION,非矩形区域COMPLEXREGION,无暴露区域NULLREGION;操作失败ERROR
int ScrollWindowEx(HWND hWnd, int dx, int dy, const RECT *prcScroll, const RECT *prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flags);

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。