GetScrollRange

GetScrollRange 関数は指定スクロールバーの現在の最小・最大スクロールボックス(サム)位置を取得する。

GetScrollRange hWnd, nBar, lpMinPos, lpMaxPos

hWnd : [intptr] 型: HWND nBar パラメータの値により、スクロールバーコントロールへのハンドル、または標準スクロールバーを持つウィンドウへのハンドル。
nBar : [int] 型: int
lpMinPos : [var] 型: LPINT 最小位置を受け取る整数変数へのポインタ。
lpMaxPos : [var] 型: LPINT 最大位置を受け取る整数変数へのポインタ。

(プラグイン / モジュール : user32.dll)

解説

GetScrollRange 関数は指定スクロールバーの現在の最小・最大スクロールボックス(サム)位置を取得する。

[戻り値]
型: BOOL 関数が成功した場合、戻り値は非ゼロである。関数が失敗した場合、戻り値はゼロである。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
指定ウィンドウが標準スクロールバーを持たず、スクロールバーコントロールでもない場合、GetScrollRange は lpMinPos と
lpMaxPos にゼロをコピーする。標準スクロールバーの既定の範囲は 0 から 100
である。スクロールバーコントロールの既定範囲は空(両方ゼロ)である。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 は失敗する。

情報

プラグイン / モジュールuser32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_user32_gen2.hs