acorna
Messages postés53Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention23 mars 2005
-
23 mars 2005 à 17:32
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
23 mars 2005 à 19:21
hello,
j'ai un petit souci concernant le keydown, qui ne se déclenche pas lors
de l'appui sur les touches (ds mon cas les flèches directionnelles).
Voici mon code :
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'selectionne le deplacement par la touche appuyée
Select Case KeyCode
'descendre
Case 40: descendre_click
'gauche
Case 37: gauche_click
'monter
Case 38: monter_click
'droite
Case 39: droite_click
end select
end sub
Private Sub monter_click()
If soucoupe.Top > lblfond.Top Then
soucoupe.Top = soucoupe.Top - 150
End If
End Sub
Private Sub descendre_click()
If soucoupe.Top < lblfond.Top Then
soucoupe.Top = soucoupe.Top + 150
End If
End Sub
Private Sub gauche_click()
If soucoupe.Left > lblfond.Left Then
soucoupe.Left = soucoupe.Left - 150
End If
End Sub
Private Sub droite_click()
If soucoupe.Left < lblfond.Left Then
soucoupe.Left = soucoupe.Left + 150
End If
End Sub
J'ai beau regarder, pas moyen d etrouver pourquoi l'évènement ne se déclenche même pas sur l'appui d'une touche...
acorna
Messages postés53Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention23 mars 2005 23 mars 2005 à 18:08
en fait, je fait le keydown sur le formulaire directement, aucun bouton. Par contre, jai un label derriere l'image que j'essaie de bouger sur keydown. Ca peut changer quelque chose?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 23 mars 2005 à 18:22
oui s'il y a un bouton qui capte le focus on ne détecte plus les touches.
pourquoi le Label est derrière et pas devant ?
sinon à part ça il reste plus que les tests: descendre et droite:
Private Sub descendre_click()
If (soucoupe.Top + soucoupe.Height) < (lblfond.Top + lblfond.Height) Then
soucoupe.Top = soucoupe.Top + 150
End If
End Sub
Private Sub droite_click()
If (soucoupe.Left + soucoupe.Width) < (lblfond.Left + lblfond.Width) Then
soucoupe.Left = soucoupe.Left + 150
End If
End Sub
acorna
Messages postés53Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention23 mars 2005 23 mars 2005 à 18:57
J'ai tenté en enlevant les labels, mais rien. En ce qui concerne le
code que vous m'avez fourni, je ne peux pas le tester car rien ne se
passe quand j'appuie sur une touche, le keydown ne declenche pas. Par
contre, en créant des boutons droite et descendre, les évènements click
se produisent bien , et l'image bouge. Je ne vois vraiment pas ce qui
coince pour que l'appui d'une touche ne soit même pas detecté...
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 23 mars 2005 à 19:21
pas compris.
justement en créant des boutons ça devrait plus marcher. on voit bien qu'avec les touches flèches le focus passe d'un bouton à l'autre et ne sont plus détectées par la Forme à moins de créer un TextBox pour pieger le Focus mais s'il y a pas de boutons il y a pas de raison que ça marche pas.
en fait monter_click, descendre_click, droite_click, droite_click ne sont pas des évênements mais seulement des Sub, faudait enlever le _click derrière et les appeler simplement monter, descendre, droite et gauche, sinon ça prête à confusion.