ScrollWindowEx 函式 (winuser.h)
ScrollWindowEx函式會捲動指定視窗的工作區內容。
語法
int ScrollWindowEx(
[in] HWND hWnd,
[in] int dx,
[in] int dy,
[in] const RECT *prcScroll,
[in] const RECT *prcClip,
[in] HRGN hrgnUpdate,
[out] LPRECT prcUpdate,
[in] UINT flags
);
參數
[in] hWnd
類型: HWND
處理要捲動工作區的視窗。
[in] dx
類型: int
指定水準捲動的裝置單位數量。 此參數必須是負值,才能向左捲動。
[in] dy
類型: int
指定垂直捲動的裝置單位數量。 此參數必須是負值才能向上捲動。
[in] prcScroll
類型:const RECT*
RECT結構的指標,指定要捲動之工作區的部分。 如果此參數為 Null,則會捲動整個工作區。
[in] prcClip
類型:const RECT*
RECT結構的指標,其中包含裁剪矩形的座標。 只有裁剪矩形內的裝置位會受到影響。 從矩形外部捲動到內部的位會繪製;不會繪製從矩形內部捲動到外部的位。 此參數可以是 Null。
[in] hrgnUpdate
類型: HRGN
處理已修改以保存捲動使區域失效的區域。 此參數可以是 Null。
[out] prcUpdate
類型: LPRECT
RECT結構的指標,該結構會透過捲動來接收矩形的界限失效。 此參數可以是 Null。
[in] flags
類型: UINT
指定控制項捲動的旗標。 此參數可以是下列值的組合。
值 | 意義 |
---|---|
|
使用 SW_INVALIDATE 旗標指定時,將 WM_ERASEBKGND 訊息傳送至視窗,以清除新失效的區域。 |
|
使捲動後 hrgnUpdate 參數所識別的區域失效。 |
|
捲動所有與 中國Scroll 參數所指向之矩形交集的子視窗。 子視窗會依 dx 和 dy 參數所指定的圖元數目捲動。 系統會將 WM_MOVE 訊息傳送至與 中國Scroll 矩形交集的所有子視窗,即使它們未移動也一樣。 |
|
使用平滑捲動捲動捲動。 使用flags參數的HIWORD部分來指出應該花費多少時間,以毫秒為單位,平滑捲動作業。 |
傳回值
類型: int
如果函式成功,則傳回值為 SIMPLEREGION (矩形不正確區域) 、COMPLEXREGION (非矩形不正確區域;重迭的矩形) 或 NullREGION (沒有不正確區域) 。
如果函式失敗,傳回值為 ERROR。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果未指定SW_INVALIDATE和SW_ERASE旗標, ScrollWindowEx 就不會使捲動的來源區域失效。 如果已設定這其中一個旗標, ScrollWindowEx 就會使這個區域失效。 直到應用程式呼叫 UpdateWindow 函式、呼叫 RedrawWindow 函式 (指定RDW_UPDATENOW或RDW_ERASENOW旗標) ,或從應用程式佇列擷取 WM_PAINT 訊息,區域才會更新。
如果視窗具有 WS_CLIPCHILDREN 樣式, hrgnUpdate 和 prcUpdate 所指定的傳回區域代表必須更新之捲動視窗的總區域,包括需要更新之子視窗中的任何區域。
如果指定了SW_SCROLLCHILDREN旗標,如果捲動子視窗的一部分,系統就不會正確更新畫面。 位於來源矩形外部的捲動子視窗部分不會清除,而且在其新目的地中未正確重新繪製。 若要移動未完全位於 中國Scroll所指定矩形內的子視窗,請使用 DeferWindowPos 函式。 如果已設定SW_SCROLLCHILDREN旗標,且插入號矩形與滾動矩形交集,則游標會重新置放。
不論視窗具有CS_OWNDC或CS_CLASSDC類別樣式, (中國、中國Clip、中國Update 和 hrgnUpdate) 的所有輸入和輸出座標都會決定為用戶端座標。 如有必要,請使用 LPtoDP 和 DPtoLP 函式來回轉換邏輯座標。
範例
如需範例,請參閱 使用WM_PAINT訊息捲動文字。
規格需求
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-misc-l1-2-0 (于 Windows 8.1) |
另請參閱
其他資源