Listview selection par click droit

Résolu
JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007 - 19 sept. 2006 à 00:49
geobasic Messages postés 69 Date d'inscription jeudi 6 novembre 2003 Statut Membre 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!

6 réponses

geobasic Messages postés 69 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 3 octobre 2006
19 sept. 2006 à 11:20
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
3
JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007
19 sept. 2006 à 11:42
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!
3
JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007
19 sept. 2006 à 11:52
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
3
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
19 sept. 2006 à 04:16
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.
0

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

Posez votre question
JMKPROD Messages postés 68 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 15 septembre 2007
19 sept. 2006 à 10:54
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
0
geobasic Messages postés 69 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 3 octobre 2006
19 sept. 2006 à 12:12
C'est Ok. N'oublie pas de cliquer sur "Réponse acceptée"
0