Aller au contenu principal
Version: v20 R4 BETA

On Before Keystroke

CodePeut être appelé parDéfinition
174D Write Pro area - Combo Box - Form - Input - List Box - List Box ColumnUn caractère est sur le point d'être saisi dans l'objet qui a le focus. Get edited text retourne le texte de l'objet, sans ce caractère.
Historique
VersionModifications
v18 R5- Support in non-enterable list boxes - The event is now triggered after IME validation

Description

Après avoir sélectionné les événements On Before Keystroke et On After Keystroke event pour un objet, vous pouvez détecter et gérer les frappes au sein de l'objet, en utilisant la commande Form event qui retournera On Before Keystroke puis On After Keystroke (pour plus d'informations, veuillez vous reporter à la description de la commande Get edited text). Dans l'événement On Before Keystroke, la commande FILTER KEYSTROKE peut être utilisée pour filtrer les caractères typés.

Ces événements sont également activés par des commandes de langage qui simulent une action utilisateur telle que POST KEY.

L'événement On Before Keystroke n'est pas généré :

  • dans une méthode colonnes de list box, sauf lorsqu'une cellule est en cours d'édition (cependant elle est générée dans tous les cas dans la méthode de list box),
  • lorsque les modifications utilisateur ne sont pas effectuées à l'aide du clavier (coller, glisser-déposer, case à cocher, liste déroulante, combo box). Pour traiter ces événements, vous devez utiliser On After Edit.

Objets non saisissables

L'événement On Before Keystroke peut être généré dans des objets non saisissables, par exemple dans une list box même si les cellules de la list box ne sont pas saisissables ou si les lignes ne peuvent pas être sélectionnées. Cela vous permet de créer des interfaces dans lesquelles l'utilisateur peut faire défiler dynamiquement jusqu'à une ligne spécifique dans une list box en saisissant les premières lettres d'une valeur. Dans le cas où les cellules de la list box sont saisissables, vous pouvez utiliser la commande Is editing text pour savoir si l'utilisateur saisit réellement du texte dans une cellule ou s'il utilise la fonction de saisie prédictive, puis exécutez le code approprié.

Séquence de frappe

Lorsqu'une entrée nécessite une séquence de frappes clavier, les événements `On Before Keystroke[et `On After Keystroke] sont générés uniquement lorsque la saisie est entièrement validée par l'utilisateur. La commande Keystroke retourne le caractère validé. Ce cas se produit principalement :

  • lors de l'utilisation de touches "mortes" telles que ^ ou ~: les événements ne sont générés que lorsque le caractère étendu est éventuellement saisi (par exemple "ê" ou ñ),
  • lorsqu'un IME (Input method editor) affiche une boîte de dialogue intermédiaire où l'utilisateur peut saisir une combinaison de caractères : les événements sont générés uniquement lorsque la boîte de dialogue IME est validée.

Voir également

On After Keystroke.