Aller au contenu principal
Version: 20 R6 BETA

On Before Keystroke

CodePeut être appelé parDéfinition
17Zone 4D Write Pro - 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
ReleaseModifications
18 R5- Prise en charge dans les list box non saisissables - L'événement est désormais déclenché après la validation IME

Description

Après avoir sélectionné les événements On Before Keystroke et On After Keystroke pour un objet, vous pouvez détecter et gérer les frappes au sein de l'objet, en utilisant la commande Form event code 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 co

Séquence d'entrée

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.