KeyPress et touche 'Suppr'

Le
sergio
Bonjour,

je travaille sous VB5.
Lorsqu'un utilisateur appuye sur la touche du clavier 'Suppr', l'évènement
KeyPress n'est pas appelé. Pourquoi ?
Par contre, lorsque j'appuye sur la touche 'Retour arrière' (Chr=8),
l'évènement est bien appelé, et je peux supprimer un caractère.
Comment faire pour appeler l'évènement KeyPress (ou un autre évènement)
lorsqu'on appuye sur la touche 'Suppr' ?
Merci pour votre aide.
Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques93
Le #15372121
Bonjour sergio,
sergio a écrit :
Bonjour,

je travaille sous VB5.
Lorsqu'un utilisateur appuye sur la touche du clavier 'Suppr', l'évènement
KeyPress n'est pas appelé. Pourquoi ?
Par contre, lorsque j'appuye sur la touche 'Retour arrière' (Chr=8),
l'évènement est bien appelé, et je peux supprimer un caractère.
Comment faire pour appeler l'évènement KeyPress (ou un autre évènement)
lorsqu'on appuye sur la touche 'Suppr' ?



Normal, l'événement Keypress ne se déclenche que pour les touches ayant
un code Ascii, comme l'indique son paramètre : KeyAscii As Integer,

ce qui n'est pas le cas de la touche 'Suppr', ainsi que des touches de
déplacement (Flèches, PageUp, PageDown, Home, End ...), des touches
fonctions, etc...

Pour gérer ces touches, il faut utiliser les événement KeyDown et/ou
KeyUp, qui gère un code de touche. Voici la liste des constantes :


Pour des question de lisibilité, il est préférable d'utiliser les noms
de constantes :

'Suppr' : vbKeyDelete
'BackSpace' : vbKeyBack

Tu peux donc tout gérer à partir de KeyDown/KeyUp ou faire un mix avec
Keypress

--
Cordialement,

Jacques.
sergio
Le #15372091
Merci beaucoup Jacques, cela fonctionne correctement .... et j'ai presque
honte de vous avoir sollicité pour un problème pas bien méchant. Encore merci.
Serge

"Jacques93" wrote:

Bonjour sergio,
sergio a écrit :
> Bonjour,
>
> je travaille sous VB5.
> Lorsqu'un utilisateur appuye sur la touche du clavier 'Suppr', l'évènement
> KeyPress n'est pas appelé. Pourquoi ?
> Par contre, lorsque j'appuye sur la touche 'Retour arrière' (Chr=8),
> l'évènement est bien appelé, et je peux supprimer un caractère.
> Comment faire pour appeler l'évènement KeyPress (ou un autre évènement)
> lorsqu'on appuye sur la touche 'Suppr' ?

Normal, l'événement Keypress ne se déclenche que pour les touches ayant
un code Ascii, comme l'indique son paramètre : KeyAscii As Integer,

ce qui n'est pas le cas de la touche 'Suppr', ainsi que des touches de
déplacement (Flèches, PageUp, PageDown, Home, End ...), des touches
fonctions, etc...

Pour gérer ces touches, il faut utiliser les événement KeyDown et/ou
KeyUp, qui gère un code de touche. Voici la liste des constantes :


Pour des question de lisibilité, il est préférable d'utiliser les noms
de constantes :

'Suppr' : vbKeyDelete
'BackSpace' : vbKeyBack

Tu peux donc tout gérer à partir de KeyDown/KeyUp ou faire un mix avec
Keypress

--
Cordialement,

Jacques.



andre.araste
Le #15372081
Bonjour

Si j'ai bien compris la question, pour que l'événement KeyPress soit appelé,
il faut que la propriété de la Form soit KeyPreview = True ce qui donne le
priorité au clavier.

KeyPress retourne une variable KeyAscii codée sur 1 seul octet alors que
l'événement KeyDown retourne une variable KeyCode codée sur 2 octets
(Touches de fonction)
-
Bonne réception.

http://perso.orange.fr/andre.araste/
Membre du Club Win's: http://www.clubwins.org
Avertissement: Je ne vends rien.

"sergio"
Bonjour,

je travaille sous VB5.
Lorsqu'un utilisateur appuye sur la touche du clavier 'Suppr', l'évènement
KeyPress n'est pas appelé. Pourquoi ?
Par contre, lorsque j'appuye sur la touche 'Retour arrière' (Chr=8),
l'évènement est bien appelé, et je peux supprimer un caractère.
Comment faire pour appeler l'évènement KeyPress (ou un autre évènement)
lorsqu'on appuye sur la touche 'Suppr' ?
Merci pour votre aide.
Serge


Publicité
Poster une réponse
Anonyme