Bouger un objet avec clavier

Résolu
Jocelynmorrissette Messages postés 9 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 7 novembre 2005 - 11 oct. 2005 à 20:22
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 - 18 oct. 2005 à 17:46
J'ai déja écrit a propos de ce probleme mais ma question n'était pas clair. J'aimerais savoir comment bouger une image avec le clavier. J'ai essayer d'utilisé les VKUP VKDOWN mais ceci n'a pas fonctionner. je ne sais pas trop comment les coder alors si quelqu'un pourrait m'aider j'en serait très reconnaissant.

Merci d'avance

6 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
11 oct. 2005 à 23:16
Salut,
Va jeter un coup d'oeil à cette adresse sa va peut etre te servir
http://www.codeguru.com/forum/showthread.php?t=359350
Bon courage


Si la réponse te conviens merci de l'accepter
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
12 oct. 2005 à 16:24
et, appuie sur les touhes gauche et droit du clavier, pour que le textbox bouche a gauche ou a droite.
Allé, bonne continuation

et salut a Willi
0
Jocelynmorrissette Messages postés 9 Date d'inscription mardi 11 octobre 2005 Statut Membre Dernière intervention 7 novembre 2005
18 oct. 2005 à 15:52
Merci de l'aide mais il y a qu'un seul probleme... comment est-ce que je pourrait pour pouvoir tenir ma flèche et que mon image bouge parceque avec le code que tu m'a donner, il faut que je clique pour bouger un peut mais si je tien la flèche il ne bouge pas... serait-il possible avec ce code???
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
18 oct. 2005 à 17:33
Voici le meme code avec 4 ligne en plus.
et, j'ai modifié la valeur 100 par 1. si non, trop rapide.

copie et colle dans la meme forme que l'exemple d'en haut

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Public Touche As Boolean



Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

'mettre sur la form, keypreview=true


Touche = True 'Ici, pour dire que les touches sont enffoncé
'Quand tu retires ton doit de sur la touche, alors touche = False

While Touche = True 'tant que touche enfoncé
DoEvents 'Donne la main au système, pour ne pas planter.


'vbKeyRight 0x27 touche DROITE.
Const vbKeyRight = &H27
'Si la touche droite est appuyé
If KeyCode = vbKeyRight Then
Text1.Left = Text1.Left + (1)
End If

'vbKeyLeft 0x25 Touche GAUCHE.
Const vbKeyLeft = &H25
If KeyCode = vbKeyLeft Then
Text1.Left = Text1.Left - 1
End If

Wend
End Sub



'Ici, lorsque le touche est plus enfoncé, il met touche a false
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Touche = False
End Sub
0

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

Posez votre question
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
18 oct. 2005 à 17:46
je ne dis pas que c'est la seule ou la meilleure maière de faire, mais, ca marche.

donc, pour résumer ce qui a changé.

tu déclares une variable public que j'ai appelé Touche.
(elle te permettera de récupérer la valeur true ou false, lorsque les touches sont enfoncées ou pas.)

ensuite, sur Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
donc sur touche enfoncé, on met touche = true.

puis je dis que tant que le touche est enfoncé, d'ou touche true, l'objet doit être déplacé. >>> While Touche True '(exécute le code) et enfin, end sub

mais, attention, une telle boucle consomme beaucoup de resource. le système plante souvant. d'ou le DoEvents (donne la main au système, pour ne pas planter)

Maintenat, lorsque retire le doit de sur la touche, >> touche = False
(pour ne pas que la boucle s'exécute à l'ainfini)

>>Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
Touche = False
End Sub

Bonne continuation
0
P__ROMEO Messages postés 294 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 9 mars 2006 1
12 oct. 2005 à 16:21
Bonjour
Voici un petit exemple. je ne sais pas si c'est ce qe tu demande, mais, essaie pour voir.

mets sur ton form un TextBox

mets sur la form, keypreview=true (dans les propiétés de la form)

copies et cole se code (pas très sofestiqué, mais, pour l'idée):

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

'mettre sur la form, keypreview=true

'vbKeyRight 0x27 touche DROITE.
Const vbKeyRight = &H27
'Si la touche droite est appuyé
If KeyCode = vbKeyRight Then

Text1.Left = Text1.Left + 100

End If


'vbKeyLeft 0x25 Touche GAUCHE.
Const vbKeyLeft = &H25
If KeyCode = vbKeyLeft Then

Text1.Left = Text1.Left - 100

End If

End Sub
-2
Rejoignez-nous