Passer au contenu principal
Cette méthode est implémentée côté client. Elle est appelée par ABBYY FineReader Engine lorsqu’une frappe correspond à un caractère dans Image Viewer, Zoom Viewer, Text Editor, Text Validator ou Document Viewer. Elle transmet au client le code du caractère, le nombre de répétitions et quelques informations supplémentaires sur la frappe. Cette méthode permet d’annuler l’opération.

Syntaxe

C++

HRESULT OnChar(
  int           Character,
  int           Count,
  int           Flags,
  VARIANT_BOOL* Cancel
);

C#

void OnChar(
  int      Character,
  int      Count,
  int      Flags,
  out bool Cancel
);

Visual Basic .NET

Sub OnChar( _
  Character As Integer, _
  Count As Integer, _
  Flags As Integer, _
  ByRef Cancel As Boolean _
)

Paramètres

Character [in] Contient la valeur du code de caractère de la touche. 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 la touche, l’état précédent de la touche et le code de contexte, comme indiqué dans la liste suivante :
ValeurDescription
0-7Spécifie le code de balayage. La valeur dépend du fabricant d’équipement d’origine (OEM).
8Spé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-12Utilisé en interne par Windows.
13Spécifie le code de contexte. La valeur est 1 si la touche ALT est maintenue enfoncée pendant l’appui sur la touche ; sinon, elle est 0.
14Spé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 elle est relâchée.
15Spécifie l’état de transition. La valeur est 1 si la touche est en cours de relâchement, ou 0 si elle est en cours d’enfoncement.
Cancel [out] Vous pouvez définir cette variable sur TRUE pour indiquer que le processus doit être interrompu.

Valeurs de retour

[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, dans ce cas, la valeur du paramètre Cancel n’est pas prise en compte.

Remarques

L’implémentation cliente de cette méthode doit garantir que toutes les exceptions levées au sein de la méthode sont interceptées et gérées, et qu’aucune n’est propagée en dehors de la méthode. La propagation d’une exception en dehors de la méthode peut entraîner des résultats imprévisibles (par exemple, l’arrêt du programme).

Voir aussi

IInputEvents