Share via


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

指定要設定參數的捲軸類型。 此參數可以是下列其中一個值。

意義
SB_CTL
設定捲軸控制項的參數。 hwnd參數必須是捲軸控制項的控制碼。
SB_HORZ
設定視窗標準水準捲軸的參數。
SB_VERT
設定視窗標準垂直捲動條的參數。

[in] lpsi

類型: LPCSCROLLINFO

SCROLLINFO結構的指標。 在呼叫 SetScrollInfo之前,請將 結構的 cbSize 成員設定為 sizeof (SCROLLINFO) 、設定 fMask 成員以指出要設定的參數,並在適當的成員中指定新的參數值。

fMask成員可以是下列一或多個值。

意義
SIF_DISABLENOSCROLL
停用捲軸,而不是移除捲軸,如果捲軸的新參數使捲軸不必要。
SIF_PAGE
將滾動頁設定為lpsi所指向SCROLLINFO結構nPage成員中指定的值。
SIF_POS
將捲動位置設定為lpsi指向之 SCROLLINFO結構nPos成員中指定的值。
SIF_RANGE
將捲動範圍設定為lpsi所指向之 SCROLLINFO結構的nMinnMax成員中指定的值。

[in] redraw

類型: BOOL

指定是否要重新繪製捲軸,以反映捲軸的變更。 如果此參數為 TRUE,捲軸會重新繪製,否則不會重新繪製。

傳回值

類型: int

傳回值是捲動方塊的目前位置。

備註

SetScrollInfo函式會對SCROLLINFO結構的nPagenPos成員所指定的值執行範圍檢查。 nPage成員必須指定介於 0 到nMax - nMin +1 的值。 nPos成員必須指定nMinnMax - max ( nPage– 1, 0) 之間的值。 如果任一值超出其範圍,函式會將它設定為剛在範圍內的值。

如果 fnBar 參數是SB_CTL,而 hwnd 參數指定的視窗不是系統捲軸控制項,則系統會將 SBM_SETSCROLLINFO 訊息傳送至視窗,以設定捲軸資訊 (系統可以將訊息優化為 SBM_SETPOSSBM_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)

另請參閱

GetScrollInfo

參考

SCROLLINFO