Key press??

Résolu
Narmoc Messages postés 6 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 16 janvier 2012 - 23 oct. 2007 à 01:27
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 23 août 2018 - 24 oct. 2007 à 03:16
Bonjour! j'ai un problême, Depuis quelques jours je cherche le code pour faire bougez une image a l'aide d'une touche du clavier...

j'ai troucé ce code,

Private Sub Image1_Keypress(KeyAscii As Integer)
If KeyAscii = vbKey13 Then
Image1.Left = Image1.Left + 120
End If
End Sub

Mais je ne sais pas ce qui cloche...

Je suis débutant, et je ne comprend pas la difference entre key up, key down et keypress...

Si quelqu'un pourais m'expliquer clairement S.V.P.

Merci!

8 réponses

42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
23 oct. 2007 à 02:49
Hello Narmoc
 

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Image1.Left = Image1.Left + 120
End If
End Sub

Voir dans Help de VB6 pour plus d'information.
A plus sur VBFrance.com 
42wawa42 
 
3
Narmoc Messages postés 6 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 16 janvier 2012
23 oct. 2007 à 03:35
Ok Merci beaucoup!!
0
Narmoc Messages postés 6 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 16 janvier 2012
23 oct. 2007 à 11:45
J'ai un autre dileme,

j'ai esseyez de changer le 13(touche entrer) par le 65(touche D) mais sa ne fonctionne pas, et je me demandais aussi, j'ai esseyez de faire bougez l'image1 vers la droit, j'ai fait,

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Image1.Right = Image1.Right + 120
End If
End Sub

Mais sa ne marche pas... est ce que il faut que je fasse:

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Image1.Left = Image1.Left -
120
End If
End Sub

???
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
23 oct. 2007 à 12:34
65 touche D ?

euh.... non.... c'est A

utilises des constantes, tu t'emmeleras pas les pinceaux

vbKeyReturn
vbKeyD
...

active la propriété KeyPreview de ta form, afin d'etre le premier receptionnaire des KeyPress de ta Form
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Narmoc Messages postés 6 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 16 janvier 2012
23 oct. 2007 à 12:38
Ah, Laissez faire, j'ai trouver la réponse a mes questions, Mais encore un probleme, quelque est le code pour les flèches ??

*Dsl pour le double post*
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 oct. 2007 à 14:06
Salut,
Attention si je ne me trompe pas les fleches se "capte" dans l'événement KeyDown (ou Up) mais pas dans le KeyPress)

Lorsque tu ne sais pas quel est le code rien ne t'empeche de faire MsgboxKeyAscii (ou dans le cas du KeyDown Msgbox KeyCode)

Comme le conseil , (salut) utilise KeyCodeConstants

KeyCodeConstants.vbKeyLeft
KeyCodeConstants.vbKeyRight
KeyCodeConstants.vbKeyUp
KeyCodeConstants.vbKeyDown, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
Narmoc Messages postés 6 Date d'inscription lundi 16 janvier 2012 Statut Membre Dernière intervention 16 janvier 2012
24 oct. 2007 à 01:24
Désolé Jrivet,

Je n'est pas trop compris ce que tu à esseyer de m'expliquer... Pourait-tu me le simplifier s.v.p.

Et j'ai une autre question,
Est-ce que l'ont peux faire en sorte que l'ont n'ai besoin de pesser sur deux touche pour faire une action??

Merci de vos réponse!
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 23 août 2018 21
24 oct. 2007 à 03:16
If KeyCode = vbKeyLeft then ...

Pour 2 touches, c'est possible, si l'on parle de Maj (Shift), Ctrl ou Alt qui ont leurs valeurs 1, 2 et 4 et l'addition de celles-ci.
C'est ce à quoi sert le paramètre Shift

MPi²
0