setScrollPos 函式 (winuser.h)
SetScrollPos函式會設定捲動方塊的位置 (捲軸) 在指定的捲軸中,如果要求,請重新繪製捲軸以反映捲動方塊的新位置。
語法
int SetScrollPos(
[in] HWND hWnd,
[in] int nBar,
[in] int nPos,
[in] BOOL bRedraw
);
參數
[in] hWnd
類型: HWND
根據 nBar 參數的值,處理捲軸控制項或具有標準捲軸的視窗。
[in] nBar
類型: int
指定要設定的捲軸。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
設定捲軸控制項中捲動方塊的位置。 hwnd參數必須是捲軸控制項的控制碼。 |
|
設定捲動方塊在視窗的標準水準捲軸中的位置。 |
|
設定視窗標準垂直捲動條中捲動方塊的位置。 |
[in] nPos
類型: int
指定捲動方塊的新位置。 位置必須位於捲動範圍內。 如需捲動範圍的詳細資訊,請參閱 SetScrollRange 函式。
[in] bRedraw
類型: BOOL
指定是否要重新繪製捲軸以反映新的捲動方塊位置。 如果此參數為 TRUE,則會重新繪製捲軸。 如果是 FALSE,則捲軸不會重新繪製。
傳回值
類型: int
如果函式成功,則傳回值是捲動方塊的上一個位置。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如果捲動列是由另一個函式的後續呼叫重新繪製, 請將 bRedraw 參數設定為 FALSE 很有用。
由於指出捲軸位置 的訊息WM_HSCROLL 和 WM_VSCROLL限制為 16 位的位置資料,因此只依賴位置資料之訊息的應用程式,對於 SetScrollPos 函式的 nPos 參數,其實際值為 65,535。
不過,由於SetScrollInfo、SetScrollPos、SetScrollRange、GetScrollInfo、GetScrollPos和GetScrollRange函式支援 32 位捲軸位置資料,因此有辦法規避WM_HSCROLL和WM_VSCROLL訊息的 16 位屏障。 如需技術的描述,請參閱 GetScrollInfo 。
如果 nBar 參數SB_CTL且 hWnd 參數指定的視窗不是系統捲軸控制項,則系統會將 SBM_SETPOS 訊息傳送至視窗以設定捲軸資訊。 這可讓 SetScrollPos 在模擬捲軸的自訂控制項上運作。 如果視窗未處理 SBM_SETPOS 訊息, SetScrollPos 函式會失敗。
規格需求
最低支援的用戶端 | 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) |
另請參閱
參考