setScrollInfo 函式 (winuser.h)
SetScrollInfo函式會設定捲軸的參數,包括捲軸的最小和最大捲動位置、頁面大小,以及捲動方塊的位置 () 。 如果要求,函式也會重新繪製捲軸。
語法
int SetScrollInfo(
[in] HWND hwnd,
[in] int nBar,
[in] LPCSCROLLINFO lpsi,
[in] BOOL redraw
);
參數
[in] hwnd
類型: HWND
根據 fnBar 參數的值而定,捲軸控制項或具有標準捲軸的視窗控制碼。
[in] nBar
類型: int
指定要設定參數的捲軸類型。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
|
設定捲軸控制項的參數。 hwnd參數必須是捲軸控制項的控制碼。 |
|
設定視窗標準水準捲軸的參數。 |
|
設定視窗標準垂直捲動條的參數。 |
[in] lpsi
類型: LPCSCROLLINFO
SCROLLINFO結構的指標。 在呼叫 SetScrollInfo之前,請將 結構的 cbSize 成員設定為 sizeof (SCROLLINFO) 、設定 fMask 成員以指出要設定的參數,並在適當的成員中指定新的參數值。
fMask成員可以是下列一或多個值。
值 | 意義 |
---|---|
|
停用捲軸,而不是移除捲軸,如果捲軸的新參數使捲軸不必要。 |
|
將滾動頁設定為lpsi所指向SCROLLINFO結構nPage成員中指定的值。 |
|
將捲動位置設定為lpsi指向之 SCROLLINFO結構nPos成員中指定的值。 |
|
將捲動範圍設定為lpsi所指向之 SCROLLINFO結構的nMin和nMax成員中指定的值。 |
[in] redraw
類型: BOOL
指定是否要重新繪製捲軸,以反映捲軸的變更。 如果此參數為 TRUE,捲軸會重新繪製,否則不會重新繪製。
傳回值
類型: int
傳回值是捲動方塊的目前位置。
備註
SetScrollInfo函式會對SCROLLINFO結構的nPage和nPos成員所指定的值執行範圍檢查。 nPage成員必須指定介於 0 到nMax - nMin +1 的值。 nPos成員必須指定nMin與nMax - max ( nPage– 1, 0) 之間的值。 如果任一值超出其範圍,函式會將它設定為剛在範圍內的值。
如果 fnBar 參數是SB_CTL,而 hwnd 參數指定的視窗不是系統捲軸控制項,則系統會將 SBM_SETSCROLLINFO 訊息傳送至視窗,以設定捲軸資訊 (系統可以將訊息優化為 SBM_SETPOS 或 SBM_SETRANGE ,如果要求僅適用于位置或範圍) 。 這可讓 SetScrollInfo 在模擬捲軸的自訂控制項上運作。 如果視窗未處理 SBM_SETSCROLLINFO (或優化的 SBM_SETPOS 訊息或 SBM_SETRANGE訊息) , 則 SetScrollInfo 函式會失敗。
如需範例,請參閱 使用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) |
另請參閱
參考