Is editing text
Is editing text -> Résultat
Paramètre | Type | Description | |
---|---|---|---|
Résultat | Boolean | ← | Vrai si le texte est en cours de saisie, sinon faux |
Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.
Description
La commande Is editing text retourne Vrai si l'utilisateur saisit des valeurs dans un objet de formulaire d'entrée, et Faux dans tous les autres cas.
Cette commande est principalement destinée à distinguer, dans le code lancé par l'événement formulaire Sur avant frappe clavier, la saisie de données utilisateur et l'utilisation de touches de raccourcis. Par exemple, vous pouvez choisir d'exécuter un code différent selon que l'utilisateur appuie sur une touche pour saisir du texte dans une cellule, ou pour faire défiler la listbox.
La commande Is editing text peut être utilisée uniquement avec les objets de formulaire suivants :
- zone de saisie
- listbox (saisissable et non saisissable)
- combo box
Avec d'autres objets, la commande retourne toujours Faux. Elle ne peut notamment pas être utilisée avec des zones 4D Write Pro et 4D View Pro.
Exemple
Pour permettre à l'utilisateur de sélectionner une ligne commençant par la lettre ou le numéro saisi(e) dans une listbox saisissable :
Case of
:(FORM Event.code=On Before Keystroke) //une touche est enfoncée
If(Is editing text) //le texte est saisi
// vous rejetez certains caractères
If(Keystroke="+")|(Keystroke="-")|(Keystroke="/")|(Keystroke="*")
FILTER KEYSTROKE("")
End if
Else
//rien n'est en cours de saisie, fonctionnalité raccourci défilement
$charCode:=Keystroke
$char:=Majuscule($charCode) // supprime les accents
Case of
:((($char>="A")&($char<="Z"))|(($char>="0")&($char<="9")))
... //Sélectionne une ligne commençant par la lettre ou le numéro saisi(e)
:($charCode>=Left arrow key)&($charCode<=Down arrow key) // flèches gauche/droite/haut/bas
FILTER KEYSTROKE("") // désactive les actions des flèches
End case
End if
End case