> ## 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 インターフェイスの OnKeyDown メソッド

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

このメソッドはクライアント側で実装されます。[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 OnKeyDown(
  int           KeyCode,
  int           Count,
  int           Flags,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnKeyDown(
  int      KeyCode,
  int      Count,
  int      Flags,
  out bool Cancel
);
```

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

```vb theme={null}
Sub OnKeyDown( _
  KeyCode As Integer, _
  Count As Integer, _
  Flags As Integer, _
  ByRef Cancel As Boolean _
)
```

<div id="parameters">
  ## パラメーター
</div>

KeyCode

\[in] 押されたキーの仮想キー コードを指定します。

Count

\[in] ユーザーがキーを押し続けたときにキーストロークが繰り返される回数、つまりリピート回数を示します。

Flags

\[in] 次の一覧に示すように、スキャン コード、キー遷移コード、直前のキー状態、およびコンテキスト コードが含まれます。

| Value | Description                                                                       |
| ----- | --------------------------------------------------------------------------------- |
| 0-7   | スキャン コードを指定します。この値は original equipment manufacturer (OEM) によって異なります。              |
| 8     | 右側の ALT キーや CTRL キーなど、拡張 101/102 キーボードにある拡張キーかどうかを指定します。拡張キーの場合は 1、それ以外の場合は 0 です。 |
| 9-12  | Windows で内部的に使用されます。                                                              |
| 13    | コンテキスト コードを指定します。キーが押されたときに ALT キーも押されている場合は 1、それ以外の場合は 0 です。                     |
| 14    | 直前のキー状態を指定します。メッセージが送信される前にキーが押下状態であれば 1、キーが離されていれば 0 です。                         |
| 15    | 遷移状態を指定します。キーが離されるときは 1、キーが押されるときは 0 です。                                          |

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)
