VB6 KeyDown avec la touche Shift

Signaler
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
cs_JeffC1977
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
-
Salut à tous...

J'ai un petit prob avec La touche Shift et F6...

Je veux que si j'appuis sur Shjift et F6 cela modifira quelque truc...

Bref quand je fais Shift-F6 c'est comme si je fesais que la touche F6 il ne tient pas compte du Shift... Pourquoi ???????

merci d'avance

Voici une partie de mon code...

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

txtContrat.SetFocus
   Select Case KeyCode

Code que je vous épargne......
   
        Case vbKeyF6
            lblAbsent.Caption = ""
            lblAbsent.BorderStyle = 0
            cboListe.Text = "(F6) Minute"
            Call cmdOuvrir_Click
           
        Case vbKeyF6 And Shift
            lblAbsent.Caption = ""
            lblAbsent.BorderStyle = 0
            cboListe.Text = "(F6) Minute TIF"
            Call cmdOuvrir_Click
            
Autre code que je vous épargne....        
        
        End Select
End Sub

4 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
As-tu regarder l'exemple fourni dans l'aide pour l'évènement KeyDown, c'est clairement expliqué

Private Sub form_Keydown(KeyCode As Integer, Shift As Integer)
Dim ShiftDown As Integer

Const vbShiftMask = 1
ShiftDown = (Shift And vbShiftMask) > 0

txtContrat.SetFocus
Select Case KeyCode

' Code que je vous épargne......

Case vbKeyF6
If Not ShiftDown Then
lblAbsent.Caption = ""
lblAbsent.BorderStyle = 0
cboListe.Text = "(F6) Minute"
Call cmdOuvrir_Click
Else
lblAbsent.Caption = ""
lblAbsent.BorderStyle = 0
cboListe.Text = "(F6) Minute TIF"
Call cmdOuvrir_Click
End If

' Autre code que je vous épargne....

End Select
End Sub

---- Sevyc64  (alias Casy) ----<hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
Oupps, l'indentation à quelque peu merdé

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
C'est parce que Keycode et Shift sont des variables différentes

Tu n'as normalement pas besoin de faire un Select case, mais j'en fais un ici pour que tu comprennes :

Private Sub form_Keydown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
        Case vbKeyF6
            If Shift Then MsgBox "OUI" Else MsgBox "oui"
         Case Else
        End Select
End Sub
Messages postés
926
Date d'inscription
vendredi 10 novembre 2000
Statut
Membre
Dernière intervention
10 septembre 2010
3
Merci de votre aide    très apprécié...

A+