SetScrollInfo 関数 (winuser.h)

SetScrollInfo 関数は、スクロール バーのパラメーター (スクロール位置の最小値と最大値、ページ サイズ、スクロール ボックスの位置 (thumb) など) を設定します。 関数は、要求された場合はスクロール バーも再描画します。

構文

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 メンバーには、次の値のうち 1 つ以上を指定できます。

説明
SIF_DISABLENOSCROLL
スクロール バーの新しいパラメーターによってスクロール バーが不要になる場合は、スクロール バーを削除する代わりに、スクロール バーを無効にします。
SIF_PAGE
スクロール ページを、lpsi が指す SCROLLINFO 構造体の nPage メンバーで指定された値に設定します。
SIF_POS
スクロール位置を、lpsi が指す SCROLLINFO 構造体の nPos メンバーで指定された値に設定します。
SIF_RANGE
スクロール範囲を、lpsi が指す SCROLLINFO 構造体の nMin メンバーおよび nMax メンバーで指定された値に設定します。

[in] redraw

種類: BOOL

スクロール バーへの変更を反映するようにスクロール バーを再描画するかどうかを指定します。 このパラメーターが TRUE の場合、スクロール バーは再描画され、それ以外の場合は再描画されません。

戻り値

型: int

戻り値は、スクロール ボックスの現在位置です。

解説

SetScrollInfo 関数は、SCROLLINFO 構造体の nPage メンバーおよび nPos メンバーによって指定された値に対して範囲チェックを実行します。 nPage メンバーは、0 から nMax - nMin +1 までの値を指定する必要があります。 nPos メンバーは、nMinnMax - 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 を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-misc-l1-2-0 (Windows 8.1 で導入)

関連項目

GetScrollInfo

リファレンス

SCROLLINFO