Différencier le Clic droit ou gauche (du ListView)

Résolu
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009 - 31 mai 2006 à 20:44
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009 - 1 juin 2006 à 16:00
Bonjour.
Est ce que l'on peut différencier le clic droit du clic gauche sur un item du listView?

J'utilise ceci :




Private Sub lw_ItemClick(ByVal Item As MSComctlLib.ListItem) 
    Call MsgBox("Ligne numéro: " & Item.Index & ": " & Item.Text & ": " & Item.SubItems(1)) 
End Sub





mais, il ne fait pas la différence entre le clic gauche du clic droit.
Merci pour vos réponses.
Cordialement.

10 réponses

Profil bloqué
31 mai 2006 à 21:01
Salut tanaka56


Essaie en utilisant l'évement Mousedown de la listview : il y a le paramètre Button en entrée,ainsique les paramètres Shift,X et Y( ces 2 derniers sont la position du curseur.Je ne l'ai point testé et il est possible que tu perdes l'information de la ligne sélectionnée 


GRENIER Alain[8D]
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
1 juin 2006 à 15:23
c'est bien oItem.SubItems(1)  (avec un listview en mode report...)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
1 juin 2006 à 06:52
Private Sub lw_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim oItem as ListItem

    If Button = vbRightButton Then '# J'ai choisi au hasard l'un des deux boutons

       Set



oItem



= lw.HitTest ( X,Y)

       If Not



oItem



Is Nothing Then

          MsgBox
"Ligne numéro: " &
oItem.Index & ": " &
oItem.Text & ": " & oItem.SubItems(1)

       End If

    End If
End Sub








Renfield





Admin CodeS-SourceS

- MVP Visual Basic
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
1 juin 2006 à 10:20
Bonjour.
Désolé, il se "plante" sur cette ligne :

Set oItem


= lw.HitTest ( X,Y)


Erreur d'exécution 424 (un objet est requis.)
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
1 juin 2006 à 10:47
ta ListView se nomme-t'elle bien lw ? (adapte le code au besoin)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
1 juin 2006 à 10:59
Salut Renfield,
Évidemment !!!
Comme ceci ça fonctionne :

 Set oItem = ListView.HitTest(x, y)

Merci beaucoup pour tes infos.
Alain
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
1 juin 2006 à 11:03
Merci également à Galain pour sa participation active, c'est comme cela que l'on peut avancer.
Cordialement.
Alain
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /?>
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
1 juin 2006 à 11:28
ca fonctionne en métant ListView :o
alors là, ton projet est habité par de petits êtres magiques, enfin, je pense :s

tu dois pourtnat ici simplement mettre le nom de ton ListView...

m'enfin, si ca fonctionne, tant mieux^^

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
1 juin 2006 à 15:16
En fait, le nom de mon Listview est "ListView". Je viens de le renommer en "ListView1". Mais cela fonctionnait. Par contre, je n'arrive pas à afficher ce qui ce trouve sur la même ligne mais dans la deuxième colonne !



Al.



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /?>
 
0
Tanaka56 Messages postés 124 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 29 janvier 2009
1 juin 2006 à 16:00
Super, ça fonctionne.
Merci encore.
Alain.
0