Bouger un objet avec clavier [Résolu]

Jocelynmorrissette 9 Messages postés mardi 11 octobre 2005Date d'inscription 7 novembre 2005 Dernière intervention - 11 oct. 2005 à 20:22 - Dernière réponse : P__ROMEO 311 Messages postés vendredi 25 février 2005Date d'inscription 9 mars 2006 Dernière intervention
- 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
Afficher la suite 

6 réponses

cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscription 13 février 2015 Dernière intervention - 11 oct. 2005 à 23:16
0
Utile
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
P__ROMEO 311 Messages postés vendredi 25 février 2005Date d'inscription 9 mars 2006 Dernière intervention - 12 oct. 2005 à 16:24
0
Utile
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
Jocelynmorrissette 9 Messages postés mardi 11 octobre 2005Date d'inscription 7 novembre 2005 Dernière intervention - 18 oct. 2005 à 15:52
0
Utile
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???
P__ROMEO 311 Messages postés vendredi 25 février 2005Date d'inscription 9 mars 2006 Dernière intervention - 18 oct. 2005 à 17:33
0
Utile
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
P__ROMEO 311 Messages postés vendredi 25 février 2005Date d'inscription 9 mars 2006 Dernière intervention - 18 oct. 2005 à 17:46
0
Utile
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
P__ROMEO 311 Messages postés vendredi 25 février 2005Date d'inscription 9 mars 2006 Dernière intervention - 12 oct. 2005 à 16:21
-2
Utile
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

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.