Pb keydown qui ne se déclenche pas

acorna Messages postés 53 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 23 mars 2005 - 23 mars 2005 à 17:32
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 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...

Une idée?

merci d'avance

7 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
23 mars 2005 à 17:42
as tu mis KeyPreview à True ?

Daniel
0
acorna Messages postés 53 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 23 mars 2005
23 mars 2005 à 17:45
oui, c'est fait. Mais rien à faire, ça ne se déclenche pas...
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
23 mars 2005 à 18:05
t'as un Bouton sur ta forme et seulement des Labels c'est ça ?

Daniel
0
acorna Messages postés 53 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 23 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?
0

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

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
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

Daniel
0
acorna Messages postés 53 Date d'inscription mercredi 26 mai 2004 Statut Membre Dernière intervention 23 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é...
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
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.

0
Rejoignez-nous