> ## 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.

# Méthode OnKeyDown de l’interface IInputEvents

> Méthode OnKeyDown de l’interface IInputEvents dans les composants visuels d’ABBYY FineReader Engine sous Windows — Cette méthode est implémentée côté client.

Cette méthode est implémentée côté client. Elle est appelée par ABBYY FineReader Engine lorsqu’une touche est pressée dans [Image Viewer](/fr/fine-reader/engine/visual-components-reference/imageviewer), [Zoom Viewer](/fr/fine-reader/engine/visual-components-reference/zoomviewer), [Text Editor](/fr/fine-reader/engine/visual-components-reference/texteditor), [Text Validator](/fr/fine-reader/engine/visual-components-reference/textvalidator) ou [Document Viewer](/fr/fine-reader/engine/visual-components-reference/documentviewer).

Elle transmet au client le code de la touche, le nombre de répétitions et les touches modificatrices utilisées. Cette méthode permet d’annuler l’opération.

<div id="syntax">
  ## Syntaxe
</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">
  ## Paramètres
</div>

KeyCode

\[in] Spécifie le code de touche virtuelle de la touche enfoncée.

Count

\[in] Contient le nombre de répétitions, c’est-à-dire le nombre de fois que la frappe est répétée lorsque l’utilisateur maintient la touche enfoncée.

Flags

\[in] Contient le code de balayage, le code de transition de touche, l’état précédent de la touche et le code de contexte, comme indiqué dans la liste suivante :

| Valeur | Description                                                                                                                                                                                                          |
| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0-7    | Spécifie le code de balayage. La valeur dépend du fabricant de l’équipement d’origine (OEM).                                                                                                                         |
| 8      | Spécifie si la touche est une touche étendue, comme les touches ALT et CTRL de droite présentes sur un clavier amélioré de 101 ou 102 touches. La valeur est 1 s’il s’agit d’une touche étendue ; sinon, elle est 0. |
| 9-12   | Utilisé en interne par Windows.                                                                                                                                                                                      |
| 13     | Spécifie le code de contexte. La valeur est 1 si la touche ALT est maintenue enfoncée lorsque la touche est pressée ; sinon, la valeur est 0.                                                                        |
| 14     | Spécifie l’état précédent de la touche. La valeur est 1 si la touche est enfoncée avant l’envoi du message, ou 0 si la touche est relâchée.                                                                          |
| 15     | Spécifie l’état de transition. La valeur est 1 si la touche est en cours de relâchement, ou 0 si la touche est en cours d’enfoncement.                                                                               |

Cancel

\[out] Vous pouvez définir cette variable sur TRUE pour indiquer que le processus doit être interrompu.

<div id="return-values">
  ## Valeurs de retour
</div>

\[C++ uniquement] Si cette méthode renvoie une valeur autre que S\_OK, cela indique qu'une erreur s'est produite côté client, et la valeur du paramètre Cancel n’est alors pas prise en compte.

<div id="remarks">
  ## Remarques
</div>

L’implémentation côté client de cette méthode doit garantir que toutes les exceptions levées au sein de la méthode sont interceptées et traitées, et qu’aucune n’est propagée à l’extérieur de la méthode. La propagation d’une exception hors de la méthode peut entraîner des résultats imprévisibles (comme l’arrêt du programme).

<div id="see-also">
  ## Voir aussi
</div>

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