Touche clavier revenue a l'état normal

consiliblob Messages postés 29 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 8 août 2004 - 2 juil. 2004 à 19:57
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 3 juil. 2004 à 15:39
Bonjour,
Je vous explique le problème: J'aimerais exécuter une action lorsqu'on appuie sur la flèche droite du clavier, mais cette action dois se produire non pas quand la touche est pressée mais quand elle est revenue a l'état normal. Donc quand la touche est pressée, il ne doit logiquement rien se passer, ce que je n'arrive pas faire. So si qq1 pourrrait m'aider svp

3 réponses

cs_Pingouin Messages postés 262 Date d'inscription lundi 26 août 2002 Statut Membre Dernière intervention 24 août 2005
2 juil. 2004 à 21:20
N'utilise pas l'evenement keydown mais keyup pour y place ton code c aussi simple que ca. Si tu veux de plus amples explications dis le moi ;-)

The Pingouin 8-)
0
consiliblob Messages postés 29 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 8 août 2004
3 juil. 2004 à 13:57
Bon j'explique un peu mieux le problème avec le code qui doit normalement, lorsqu'on clique sur la flèche droite déplacer le shape1 a droite mais seulement quand le touche revient a l'état normal (keyup) et non plas quand elle est préssée

Public Function CheckKeyPressed(ByVal Key As KeyCodeConstants) As Boolean 'faudrait réussir a modifier cette fonction pour un keyup^^

If (GetAsyncKeyState(Key)) Then
CheckKeyPressed = True
Else: CheckKeyPressed = False
End If

End Function

Private Sub Timer1_Timer()

If CheckKeyPressed(39) = True Then
Shape1.Left = Shape1.Left + Shape1.Width
End If

End Sub
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
3 juil. 2004 à 15:39
Comme te l'explique Pingouin utilise l'evenement keyUp :

Exemple :

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

If KeyCode = 39 Then
Shape1.Left = Shape1.Left + 120
End If

End Sub

It@li@
0
Rejoignez-nous