GetScrollRange 関数 (winuser.h)
GetScrollRange 関数は、指定されたスクロール バーの現在の最小および最大スクロール ボックス (サム) 位置を取得します。
構文
BOOL GetScrollRange(
[in] HWND hWnd,
[in] int nBar,
[out] LPINT lpMinPos,
[out] LPINT lpMaxPos
);
パラメーター
[in] hWnd
種類: HWND
nBar パラメーターの値に応じて、スクロール バー コントロールまたは標準のスクロール バーを持つウィンドウにハンドルします。
[in] nBar
型: int
位置の取得元となるスクロール バーを指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 | 説明 |
---|---|
|
スクロール バー コントロールの位置を取得します。 hWnd パラメーターは、スクロール バー コントロールのハンドルである必要があります。 |
|
ウィンドウの標準的な水平スクロール バーの位置を取得します。 |
|
ウィンドウの標準的な垂直スクロール バーの位置を取得します。 |
[out] lpMinPos
型: LPINT
最小位置を受け取る整数変数へのポインター。
[out] lpMaxPos
型: LPINT
最大位置を受け取る整数変数へのポインター。
戻り値
種類: BOOL
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
指定したウィンドウに標準のスクロール バーがない場合、またはスクロール バー コントロールではない場合、 GetScrollRange 関数は lpMinPos パラメーターと lpMaxPos パラメーターに 0 をコピーします。
標準スクロール バーの既定の範囲は 0 ~ 100 です。 スクロール バー コントロールの既定の範囲は空です (両方の値が 0 です)。
スクロール バーの位置 ( WM_HSCROLL と WM_VSCROLL) を示すメッセージは、位置データの 16 ビットに制限されます。 ただし、SetScrollInfo、SetScrollPos、SetScrollRange、GetScrollInfo、GetScrollPos、および GetScrollRange は 32 ビットスクロール バー位置データをサポートしているため、WM_HSCROLLおよびWM_VSCROLL メッセージの 16 ビット バリアを回避する方法があります。 この手法の説明については、 GetScrollInfo 関数を参照してください。
nBar パラメーターがSB_CTLされ、hWnd パラメーターで指定されたウィンドウがシステム スクロール バー コントロールではない場合、システムはSBM_GETRANGE メッセージをウィンドウに送信してスクロール バー情報を取得します。 これにより、 GetScrollRange は、スクロール バーを模倣するカスタム コントロールを操作できます。 ウィンドウで SBM_GETRANGE メッセージが処理されない場合、 GetScrollRange 関数は失敗します。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
関連項目
リファレンス