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 |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の user32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_user32_gen2.hs |