Je ne peux pas comprendre comment capturer la touche kbd> appuyez sur la touche.
J'ai découvert que dans la table de code ASCII, il est à 127 places, mais Puis j'ai vérifié la valeur de Le J'ai essayé d'ajouter le Je dois gérer la touche Supprimer kbd> Appuyez sur les champs d'édition créés dynamicyy. Je veux contrôler quelle partie de l'utilisateur de texte peut effacer dans ce champ, et je sais comment gérer la suppression de texte à l'aide de la touche Backspace kbd>, doit maintenant comprendre comment le faire avec Supprimer kbd> clé. p>
merci p> si (clé = n ° 127), alors code> me gêne nulle part. p>
vk_delete code> qui était 47. Essayé de l'utiliser, mais cela n'a pas fonctionné. P>
keyPreview: = true code> est défini dans mon formulaire. P>
showMessage (INTTOSTR (ORTTOSTR (ORD (TOLE))) CODE> à l'événement TRANSPATE DES FORMES, mais je n'ai jamais reçu le message contextuel en cliquant sur la touche kbd>. . P>
3 Réponses :
Vous devez gérer le ONKEDOWDOWD code> au lieu de l'événement
oneKyPress code>. Si vous le faites, alors
vk_delete code> devrait fonctionner pour vous. Notez que le paramètre pour
OnKeydown code> et
est un mot code> est un mot code>, pas un
char code> comme pour
OnKeyPress < / code>. p>
mghie a la bonne réponse, voici un échantillon: Notez que l'utilisateur peut également supprimer du texte à l'aide de Cut-To-Presse-papiers afin que vous puissiez vous gérer aussi. < / p> p>
Vous pouvez également supprimer du texte en le sélectionnant, puis en tapant nouveau texte.
@Greg Hewgill, il est facilement évitable. Je peux vérifier la partie du texte sélectionné dans l'événement KeyPress avant de laisser l'utilisateur à écrire quelque chose.
Vous pouvez utiliser l'événement OnKeydown pour filtrer la touche Kbd> de Supprimer kbd> appuyée sur la touche kbd>.