VB6 KeyDown avec la touche Shift

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 14 nov. 2006 à 19:28
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 14 nov. 2006 à 20:21
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

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 nov. 2006 à 19:37
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 #
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
14 nov. 2006 à 19:38
Oupps, l'indentation à quelque peu merdé

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
14 nov. 2006 à 19:41
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
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
14 nov. 2006 à 20:21
Merci de votre aide    très apprécié...

A+
0
Rejoignez-nous