Probleme keydown [Résolu]

Messages postés
141
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
17 mai 2014
- - Dernière réponse : culie3
Messages postés
141
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
17 mai 2014
- 21 oct. 2010 à 01:29
Bonsoir,
Je suis en trin de crée un appli sous vb6 et j'ai un probleme avec keydown.
Je l'utilise dans une condition c'est à dire:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = a And Shape1.Top >= 5400 And Shape1.Top <= 5880 Then
Shape1.Top = 1200
Timer1.Enabled = False
End If
End Sub


Le probleme est que cela ne marche pas. Ce que je veux dire par ce code (peu etre que je me suis trompé) c'est que si la valeur top de la shape 1 est comprise entre 5400 et 5880 et qu'en plus on appuis sur la touche "a" (pendant que la valeur est encore entre 5400 et 5880) alors on remet la shape à la valeur 1200 et on coupe le timer.

Seulement ça ne marche pas... Pourriez vous m'aider?
Merci =)
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
14423
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 avril 2019
155
3
Merci
Bonjour,

Regardes, de tête, il devrait y avoir une propriété sur la form dont le nom approchant est : KeyPreview (ou similaire)

Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
3
Merci
Salut

Culie33 : As-tu lu toute la réponse de NHenry ?
Regarde de plus près le If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
141
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
17 mai 2014
3
Merci
Finalement j'ai utiliser la fonction vbKey pour définir la touche et ça à marché =)

Merci pour votre aide

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 125 internautes nous ont dit merci ce mois-ci

Commenter la réponse de culie3
Messages postés
14423
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 avril 2019
155
0
Merci
Bonjour,

TOUJOURS mettre "Option Explicit" en haut de tes modules/form de code.

Il te dirais : La variable a n'est pas déclarée

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = asc("a") And Shape1.Top >= 5400 And Shape1.Top <= 5880 Then
Shape1.Top = 1200
Timer1.Enabled = False
End If
End Sub


Mon site
Commenter la réponse de NHenry
Messages postés
141
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
17 mai 2014
0
Merci
Oui merci, je l'ai mis le option explicit.
Parcontre ça ne marche pas quand meme, je pense que cela vien du fait que j'ai des boutons sur la form et que dés le depart ils sont selectionnés par défaut... Il y a pas un moyen d'eviter de lancer ce code par la form mais plutot par un shape qui est un cadre?
C'est a dire que si le shape1 est dans le shape 2 (le cadre) alors ça fait l'action?

Merci
Commenter la réponse de culie3
Messages postés
141
Date d'inscription
lundi 3 octobre 2005
Statut
Membre
Dernière intervention
17 mai 2014
0
Merci
@Nhenri: merci pour ta réponse, j'ai bien trouvé la propriété keypreview qui était false. Je l'ai mise en true mais cela ne marche pas quand meme...

@jack: j'ai bien lu toute la réponse de Nhenri oui, j'ai remarqué le changement.

Si on remplace "a" par sa valeur ascii, cela n'arrangerai pas les choses?

merci pour vos réponses
Commenter la réponse de culie3

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.