設置 | 登錄 | 註冊

作者共發了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許可協議進行許可。