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
パラメーターを設定するスクロール バーの種類を指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 | 説明 |
---|---|
|
スクロール バー コントロールのパラメーターを設定します。 hwnd パラメーターは、スクロール バー コントロールのハンドルである必要があります。 |
|
ウィンドウの標準の水平スクロール バーのパラメーターを設定します。 |
|
ウィンドウの標準垂直スクロール バーのパラメーターを設定します。 |
[in] lpsi
型: LPCSCROLLINFO
SCROLLINFO 構造体へのポインター。 SetScrollInfo を呼び出す前に、構造体の cbSize メンバーを sizeof(SCROLLINFO) に設定し、設定するパラメーターを示すように fMask メンバーを設定し、適切なメンバーに新しいパラメーター値を指定します。
fMask メンバーには、次の値のうち 1 つ以上を指定できます。
値 | 説明 |
---|---|
|
スクロール バーの新しいパラメーターによってスクロール バーが不要になる場合は、スクロール バーを削除する代わりに、スクロール バーを無効にします。 |
|
スクロール ページを、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 を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-misc-l1-2-0 (Windows 8.1 で導入) |
関連項目
リファレンス