Problème d'interception des touches fléchées

cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013 - 5 nov. 2012 à 12:22
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 8 nov. 2012 à 13:51
Bonjour,

J'ai un soucis pour intercepter les touches fléchées avec VB6.

Le KeyPreview est bien à TRUE sur la form. Par contre aucun moyen que ca fonctionne avec les touches fléchées sur le keyDown, les autres touches aucun soucis...

Pouvez vous m'aider?

Merci

7 réponses

Utilisateur anonyme
5 nov. 2012 à 18:05
Bonjour,

As-tu inséré un control spécial sur ta form qui intercepterai ces touches ?
Est-tu sur que ce n'est pas ton code dans l'évènement KeyDown qui filtre ?

_____________
Kenji
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
6 nov. 2012 à 08:52
Bonjour

j ai mi un breakpoint, il rentre même pas dans l événement lorsque j’appuie sur une flèche, si j appuie sur une lettre, aucun soucis
0
Utilisateur anonyme
6 nov. 2012 à 11:57
As-tu mis des OptionsButton dans ta from ?
Si oui, c'est un problème connu. Je n'ai pas trouvé de solution jusqu'à présent.

_____________
Kenji
0
Utilisateur anonyme
6 nov. 2012 à 12:07
Sinon reste toujours les APIs mais avec timer pas joli

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetActiveWindow Lib "user32" () As Long

Private Const VK_RIGHT As Long = &H27
Private Const VK_UP As Long = &H26
Private Const VK_LEFT As Long = &H25
Private Const VK_DOWN As Long = &H28

Private Sub Timer1_Timer()
  If GetActiveWindow() = Me.hWnd Then
    If Not GetAsyncKeyState(VK_RIGHT) = 0& Then
    
    ElseIf Not GetAsyncKeyState(VK_UP) = 0& Then
    
    ElseIf Not GetAsyncKeyState(VK_LEFT) = 0& Then
    
    ElseIf Not GetAsyncKeyState(VK_DOWN) = 0& Then
    
    End If
  End If
End Sub



_____________
Kenji
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 nov. 2012 à 21:45
Bonjour,
certaines touches, dont les flèches, sont interceptées prioritairement par Windows et don VB6.
Elles correspondent (les flèches) au passage du focus d'un contrôle à l'autre. Tu ne pourras les intercepter par du code avant Windows lui-même.
Et tu tu nous expos&ais maintenant la raison profonde, exacte et parfaitement définie, de cette tentative ? On pourrait alors peut-être te proposer une solution (si elle existe).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_Byrong Messages postés 224 Date d'inscription mercredi 28 septembre 2005 Statut Membre Dernière intervention 24 juillet 2013
8 nov. 2012 à 13:35
bonjour

c'était simplement pour passer d'un frame à l'autre, simuler le click sur un bouton représentant une flèche
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 nov. 2012 à 13:51
pour passer d'un frame à l'autre, simuler le click sur un bouton représentant une flèche

Je ne t'ai pas compris, là, surtout en ce qui concerne ce que j'ai souligné !
Il est vrai que j'ai égaré ma boule de cristal (mon épouse me l'a en fait cachée).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
Rejoignez-nous