> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IInputEvents インターフェイスの OnScroll メソッド

> Windows 上の ABBYY FineReader Engine Visual Components における IInputEvents インターフェイスの OnScroll メソッド — このメソッドはクライアント側で実装されます。

このメソッドはクライアント側で実装されます。[Image Viewer](/ja/fine-reader/engine/visual-components-reference/imageviewer)、[Zoom Viewer](/ja/fine-reader/engine/visual-components-reference/zoomviewer)、[Text Editor](/ja/fine-reader/engine/visual-components-reference/texteditor)、[Text Validator](/ja/fine-reader/engine/visual-components-reference/textvalidator)、または [Document Viewer](/ja/fine-reader/engine/visual-components-reference/documentviewer) で、マウスまたはキーボード操作によってスクロールボックスが移動されると、ABBYY FineReader Engine から呼び出されます。

このメソッドは、スクロール バー コード、スクロールボックスの位置、およびスクロールされた行数をクライアントに渡します。このメソッドを使用すると、操作をキャンセルできます。

<div id="syntax">
  ## 構文
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT OnScroll(
  int           HorzScrollBarCode,
  int           VertScrollBarCode,
  int           Position,
  int           Count,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnScroll(
  int      HorzScrollBarCode,
  int      VertScrollBarCode,
  int      Position,
  int      Count,
  out bool Cancel
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Sub OnScroll( _
  HorzScrollBarCode As Integer, _
  VertScrollBarCode As Integer, _
  Position As Integer, _
  Count As Integer, _
  ByRef Cancel As Boolean _
)
```

<div id="parameters">
  ## Parameter
</div>

HorzScrollBarCode

\[in] ユーザーのスクロール要求を示すスクロール バー コードを指定します。このParameterには、次のいずれかの値を指定できます。

* SB\_LEFT (6) — 左端までスクロールします。
* SB\_ENDSCROLL (8) — スクロールを終了します。
* SB\_LINELEFT (0) — 左にスクロールします。
* SB\_LINERIGHT (1) — 右にスクロールします。
* SB\_PAGELEFT (2) — 左に 1 ページ分スクロールします。
* SB\_PAGERIGHT (3) — 右に 1 ページ分スクロールします。
* SB\_RIGHT (7) — 右端までスクロールします。
* SB\_THUMBPOSITION (4) — 絶対位置までスクロールします。現在の位置は Position Parameterで指定します。
* SB\_THUMBTRACK (5) — スクロール ボックスを指定した位置までドラッグします。現在の位置は Position Parameterで指定します。

これらの定数は Winuser.h で定義されています。水平スクロールがなかった場合、このParameterは -1 になります。

VertScrollBarCode

\[in] ユーザーのスクロール要求を示すスクロール バー コードを指定します。このParameterには、次のいずれかの値を指定できます。

* SB\_BOTTOM (7) — 下端までスクロールします。
* SB\_ENDSCROLL (8) — スクロールを終了します。
* SB\_LINEDOWN (1) — 1 行下にスクロールします。
* SB\_LINEUP (0) — 1 行上にスクロールします。
* SB\_PAGEDOWN (3) — 1 ページ下にスクロールします。
* SB\_PAGEUP (2) — 1 ページ上にスクロールします。
* SB\_THUMBPOSITION (4) — 絶対位置までスクロールします。現在の位置は Position Parameterで指定します。
* SB\_THUMBTRACK (5) — スクロール ボックスを指定した位置までドラッグします。現在の位置は Position Parameterで指定します。
* SB\_TOP (6) — 上端までスクロールします。

これらの定数は Winuser.h で定義されています。垂直スクロールがなかった場合、このParameterは -1 になります。

Position

\[in] スクロール バー コードが SB\_THUMBPOSITION または SB\_THUMBTRACK の場合は、スクロール ボックスの位置を指定します。それ以外の場合は使用されません。

Count

\[in] スクロールがマウス ホイールで行われた場合、スクロールした行数が格納されます。

Cancel

\[out] この変数を TRUE に設定すると、処理を終了するよう指定できます。

<div id="return-values">
  ## 戻り値
</div>

\[C++ のみ] このメソッドが S\_OK 以外の値を返した場合は、クライアント側でエラーが発生したことを示します。この場合、Cancel Parameter の値は考慮されません。

<div id="remarks">
  ## 注記
</div>

このメソッドのクライアント実装では、メソッド内でスローされるすべての例外を確実に捕捉して処理し、いかなる例外もメソッドの外へ伝播させないようにする必要があります。例外がメソッドの外へ伝播すると、予期しない結果 (プログラムの終了など) を招くおそれがあります。

<div id="see-also">
  ## 関連項目
</div>

[IInputEvents](/ja/fine-reader/engine/visual-components-reference/iinputevents)
