Donner une action a une touche presser du clavier . SVP [Résolu]

psyko_flex 19 Messages postés samedi 25 septembre 2004Date d'inscription 17 août 2013 Dernière intervention - 27 mai 2005 à 22:05 - Dernière réponse : ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention
- 28 mai 2005 à 05:56
voila je voudrais savoir comment on pourrai donner une action a une touche du clavier presser,par exemple exectuer une fonction deja crée.
j'ai deja essaié po mal de truc comme ca par ex

Private Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii Asc("a") Or KeyAscii Asc("A") Then
'mettre l'action a executer ici si on appuie sur A
End If
End Sub

mais rien n y fé ! SVP aidez moiii
sa doit po eter compliké !
Afficher la suite 

4 réponses

Meilleure réponse
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 27 mai 2005 à 22:22
3
Merci
Salut,

Met la propriété KeyPreview de ta form à true.
De cette façon, l'analyse des touches pressées passera d'abord par le keypress de la form, avant le keypress du controle qui a le focus.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

psyko_flex 19 Messages postés samedi 25 septembre 2004Date d'inscription 17 août 2013 Dernière intervention - 27 mai 2005 à 22:38
0
Merci
GROS GROS GROS MERCI !!!!fonctionne trés bien !!!ouf sauvé !! tu peut pas savoir a quelle point tu me sauve !! lol.
jonhwoods 4 Messages postés mercredi 25 mai 2005Date d'inscription 28 mai 2005 Dernière intervention - 28 mai 2005 à 04:39
0
Merci
Tu peut aussi utiliser Form_Keydown

Tu remarquera que sa fait Form_Keydown(Keycode as...

Le Keycode est le code de la touche. Pour le savoir pour chaque touche tu n'a qu'à faire:

Label.Caption = Keycode

Ainsi en appuyant sur une touche sa te donne son code
ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 28 mai 2005 à 05:56
0
Merci
Oui mais as-tu compris ton erreur ???



Au cas où... je t'explique rapidement :



En fait, tu as fait appele à la "procédure évenementielle" (c'est à
dire, c'elle qui se lance lors d'un évenement utilisateur [entre
autre!] comme l'est "KeyPress") de la FORM et non du contrôle (bouton,
champ de texte, ...) sur lequel tu travailles.



Autrement dit, si tu veux qu'un champ de texte réagisse à l'appuis
d'une touche, il faut travailler sur SA procédure KeyPress (a
condition, évidemment, que le controle en question en possède une...
pour le savoir, regarde l'aide du VB [la fameuse MSDN]). Or toi tu as
fait appele à la procédure évenementielle de la FORM!



Lorsque tu appuies sur une touche, le code de cette touche est d'abord
envoyée à la procédure KeyPress de ton controle si elle est implémentée
(codée). Or, avec la Propriété "KeyPreview" des Forms, le code de la
touche, avant d'être envoyé à la procédure tonControl_KeyPress(...),
est envoyé à celle de la form [ Form_KeyPress(...) ].



Ceci afin de centraliser, si tu le veux, la gestion du clavier pour tous les controles de ta Form!



Donc, si tu utilises un champ de texte, tu aurais dû écrire plutôt :

Private Text1_KeyPress(...)





Enjoy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.