GetScrollInfo

GetScrollInfo 関数はスクロールバーのパラメータ(最小・最大スクロール位置、ページサイズ、スクロールボックス(サム)位置を含む)を取得する。

GetScrollInfo hwnd, nBar, lpsi

hwnd : [intptr] 型: HWND fnBar パラメータの値により、スクロールバーコントロールへのハンドル、または標準スクロールバーを持つウィンドウへのハンドル。
nBar : [int] 型: int
lpsi : [var] 型: LPSCROLLINFO SCROLLINFO 構造体へのポインタ。GetScrollInfo を呼び出す前に cbSize メンバに sizeof(SCROLLINFO) を設定し、fMask メンバに取得するスクロールバーパラメータを指定する。関数は処理を終える前に指定されたパラメータを構造体の該当メンバにコピーする。

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

解説

GetScrollInfo
関数はスクロールバーのパラメータ(最小・最大スクロール位置、ページサイズ、スクロールボックス(サム)位置を含む)を取得する。

[戻り値]
型: BOOL
関数が何らかの値を取得した場合、戻り値は非ゼロである。何も取得しなかった場合、戻り値はゼロである。拡張エラー情報を取得するには
GetLastError を呼ぶ。

[備考]
GetScrollInfo はアプリケーションが 32 ビットのスクロール位置を使えるようにする。スクロールバー位置を示すメッセージである
WM_HSCROLL や WM_VSCROLL は 16 ビットの位置データしか持たないが、SetScrollInfoGetScrollInfo は 32 ビットのスクロールバー位置データを提供する。したがって、WM_HSCROLL または
WM_VSCROLL メッセージの処理中に GetScrollInfo を呼ぶことで 32
ビットのスクロール位置データを取得できる。WM_HSCROLL または WM_VSCROLL メッセージ内で SB_THUMBTRACK
リクエストコードを処理中にスクロールボックス(サム)の 32 ビット位置を取得するには、SCROLLINFO 構造体の fMask
メンバに SIF_TRACKPOS を指定して GetScrollInfo を呼ぶ。関数は SCROLLINFO 構造体の
nTrackPos
メンバにスクロールボックスの追跡位置を返す。これによりユーザーがスクロールボックスを動かしている最中の位置を取得できる。次のサンプルコードはこのテクニックを示す。
(以下省略)

情報

プラグイン / モジュール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