Listview selection par click droit [Résolu]

Messages postés
68
Date d'inscription
samedi 31 mai 2003
Dernière intervention
15 septembre 2007
- - Dernière réponse : geobasic
Messages postés
69
Date d'inscription
jeudi 6 novembre 2003
Dernière intervention
3 octobre 2006
- 19 sept. 2006 à 12:12
JMKPROD

Comment selectionner une ligne dans une listview par un click droit?
Merci de vos réponse!
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
69
Date d'inscription
jeudi 6 novembre 2003
Dernière intervention
3 octobre 2006
3
Merci
Je suppose que tu fait apparaître le popup dans l'évènement MouseDown du Listview. Dans ce cas tu peux utiliser la méthode HitTest du ListView qui de permer de récupérer l'Item qui est sous le curseur. Voici un exemple:

Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim Item As ListItem
    Set Item = ListView1.HitTest(x, y)
    If Not Item Is Nothing Then mn1_test1.Caption = Item.Text
    If Button = 2 Then PopupMenu Menu1
End Sub

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de geobasic
Messages postés
68
Date d'inscription
samedi 31 mai 2003
Dernière intervention
15 septembre 2007
3
Merci
JMKPROD

Merci beaucoup geobasic! ton truc fonctionne !
je ne connaissais pas cet evenement, voila comment je l'ai utilisé:

    Dim Item As ListItem
    Set Item = listview.HitTest(x, y)

    Item.Selected = True

    If Not Item Is Nothing Then
        If Button = 2 Then PopupMenu menu
    End If

Encore merci!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de JMKPROD
Messages postés
68
Date d'inscription
samedi 31 mai 2003
Dernière intervention
15 septembre 2007
3
Merci
JMKPROD

Opps! petite correction

    Dim Item As ListItem
    Set Item = listview.HitTest(x, y)

    If Not Item Is Nothing Then
        Item.Selected = True
        If Button = 2 Then PopupMenu menu
    End If

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de JMKPROD
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Dernière intervention
20 novembre 2007
0
Merci
Bonsoir,
  Que tu cliques avec Gauche ou Droit
  tu as toujours une  ligne sélectionnée !
  Si ta question est comment récupérer des données 
  à partir d' une ListView en cliquant dessus avec le bouton droit ?
  
 Réponse :
 Dans l' événement ListView_MouseUp (ou ListView_MouseDown)
 si Button=2
 'tu récupères l' index de la ligne sélectionnée (en surbrillance)
     Maligne = ListView.SelectedItem.Index
  'tu récupères le contenu d' une colonne avec :
   - s' il s' agit de la première la colonne
     MonText=ListView.ListItems(Maligne).Text
   - si autre colonne   
     MonText=ListView.ListItems(Maligne).ListSubItems(MaColonne).Text
     S' il s' agit d' une variable numérique ou monétaire :
     MonNum=CInt(ListView.ListItems(Maligne).ListSubItems(MaColonne).Text)
                        ou CLng(...
                        ou CCur(......
                      ........

ça ira comme ça ?

chaibat
 
 Ps: Testes avant si ta ListView n' est pas vide,
        sinon tu auras une erreur.
Commenter la réponse de chaibat05
Messages postés
68
Date d'inscription
samedi 31 mai 2003
Dernière intervention
15 septembre 2007
0
Merci
JMKPROD

Merci de ta réponse, mais le probleme ne se situe pas la.
Lors d'un click droit sur une ligne je declenche l'apparition d' un popupmenu.
Le menu apparait avant que la ligne ne soit selectionnee, je souhaiterai que la ligne soit selectionnee avant le déclenchement du popupmenu pour pouvoir recuperer son index.
Merci de vos reponses
Commenter la réponse de JMKPROD
Messages postés
69
Date d'inscription
jeudi 6 novembre 2003
Dernière intervention
3 octobre 2006
0
Merci
C'est Ok. N'oublie pas de cliquer sur "Réponse acceptée"
Commenter la réponse de geobasic

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.