7
votes

Capturer une touche «Supprimer»

Je ne peux pas comprendre comment capturer la touche appuyez sur la touche. J'ai découvert que dans la table de code ASCII, il est à 127 places, mais si (clé = n ° 127), alors me gêne nulle part.

Puis j'ai vérifié la valeur de vk_delete qui était 47. Essayé de l'utiliser, mais cela n'a pas fonctionné.

Le keyPreview: = true est défini dans mon formulaire.

J'ai essayé d'ajouter le showMessage (INTTOSTR (ORTTOSTR (ORD (TOLE))) à l'événement TRANSPATE DES FORMES, mais je n'ai jamais reçu le message contextuel en cliquant sur la touche . .

Je dois gérer la touche Supprimer 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 , doit maintenant comprendre comment le faire avec Supprimer clé.

merci


0 commentaires

3 Réponses :


14
votes

Vous devez gérer le ONKEDOWDOWD au lieu de l'événement oneKyPress . Si vous le faites, alors vk_delete devrait fonctionner pour vous. Notez que le paramètre pour OnKeydown et est un mot est un mot , pas un char comme pour OnKeyPress < / code>.


0 commentaires

13
votes

mghie a la bonne réponse, voici un échantillon: xxx

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>


2 commentaires

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.



4
votes

Vous pouvez utiliser l'événement OnKeydown pour filtrer la touche de Supprimer appuyée sur la touche . XXX


0 commentaires