GetScrollRange 関数 (winuser.h)

GetScrollRange 関数は、指定されたスクロール バーの現在の最小および最大スクロール ボックス (サム) 位置を取得します。

メモGetScrollRange 関数は、互換性のためにのみ提供されます。 新しいアプリケーションでは 、GetScrollInfo 関数を使用する必要があります。
 

構文

BOOL GetScrollRange(
  [in]  HWND  hWnd,
  [in]  int   nBar,
  [out] LPINT lpMinPos,
  [out] LPINT lpMaxPos
);

パラメーター

[in] hWnd

種類: HWND

nBar パラメーターの値に応じて、スクロール バー コントロールまたは標準のスクロール バーを持つウィンドウにハンドルします。

[in] nBar

型: int

位置の取得元となるスクロール バーを指定します。 このパラメーターには、次の値のいずれかを指定できます。

説明
SB_CTL
スクロール バー コントロールの位置を取得します。 hWnd パラメーターは、スクロール バー コントロールのハンドルである必要があります。
Sb_horz
ウィンドウの標準的な水平スクロール バーの位置を取得します。
SB_VERT
ウィンドウの標準的な垂直スクロール バーの位置を取得します。

[out] lpMinPos

型: LPINT

最小位置を受け取る整数変数へのポインター。

[out] lpMaxPos

型: LPINT

最大位置を受け取る整数変数へのポインター。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

指定したウィンドウに標準のスクロール バーがない場合、またはスクロール バー コントロールではない場合、 GetScrollRange 関数は lpMinPos パラメーターと lpMaxPos パラメーターに 0 をコピーします。

標準スクロール バーの既定の範囲は 0 ~ 100 です。 スクロール バー コントロールの既定の範囲は空です (両方の値が 0 です)。

スクロール バーの位置 ( WM_HSCROLLWM_VSCROLL) を示すメッセージは、位置データの 16 ビットに制限されます。 ただし、SetScrollInfoSetScrollPosSetScrollRangeGetScrollInfo、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

関連項目

GetScrollInfo

GetScrollPos

リファレンス

SetScrollInfo

SetScrollPos

SetScrollRange

WM_HSCROLL

WM_VSCROLL