En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Recherche

Recherche

Les mémos

Je débute...

Visites

 1222751 visiteurs

 9 visiteurs en ligne

Nous contacter

Contact

Click ou double-click

Lorsque l'on tente d'utiliser ces deux événements d'un même objet, on constate que le double-click produit également un simple click.

Suite des événements lors d'un double-click:

MouseDown -> MouseUp -> Click -> DblClick -> MouseUp -> Click

Il faut donc choisir l'un des deux, mais pas les deux. Car en plus de ce fonctionnement particulier, on aura des difficultés à éviter la confusion, car selon le paramètrage de chaque PC, faire la différence entre le simple et double click peut apporter une difficulté supplémentaire.

Comment alors disposer de "click" différents ?

Nous allons tout simplement détecter le fait que l'utilisateur appuie ou non sur la touche "Shift" (majuscule) pour faire son click.

Pour cela, nous déclarons la variable boShift en haut des modules, dans la partie déclarative.

Option Compare Database
Option Explicit
'
Dim boShift As Boolean

Ensuite, nous détectons l'appui sur cette touche dans l'évenement "Sur touche appuyée" au niveau du formulaire.

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

     boShift = (Shift = 1)

End Sub

et nous annulons lors du relachement de la touche...

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    boShift = False

End Sub

Considérons que nous traitons une zone de liste, nous mettrons dans l'événement "Sur click":

Private Sub Liste0_Click()
    If Not boShift Then
        MsgBox "Simple clic"
    Else
        MsgBox "Click avec Shift"
    End If

    boShift = False

End Sub

Bien sûr, il ne faudra pas oublier de configurer l'apercu des touches à "Oui" dans les propriétés dudit formulaire.


Catégorie : - Formulaires
Page lue 7479 fois

Vous êtes ici :   Accueil » Click ou double-click