Bouger un objet avec clavier [Résolu]

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

6 réponses

Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
0
Merci
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
Messages postés
311
Date d'inscription
vendredi 25 février 2005
Dernière intervention
9 mars 2006
0
Merci
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
Messages postés
9
Date d'inscription
mardi 11 octobre 2005
Dernière intervention
7 novembre 2005
0
Merci
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???
Messages postés
311
Date d'inscription
vendredi 25 février 2005
Dernière intervention
9 mars 2006
0
Merci
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
Messages postés
311
Date d'inscription
vendredi 25 février 2005
Dernière intervention
9 mars 2006
0
Merci
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
Messages postés
311
Date d'inscription
vendredi 25 février 2005
Dernière intervention
9 mars 2006
-2
Merci
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.