Listview selection par click droit [Résolu]

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

6 réponses

Répondre au sujet
geobasic 69 Messages postés jeudi 6 novembre 2003Date d'inscription 3 octobre 2006 Dernière intervention - 19 sept. 2006 à 11:20
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de geobasic
JMKPROD 68 Messages postés samedi 31 mai 2003Date d'inscription 15 septembre 2007 Dernière intervention - 19 sept. 2006 à 11:42
+3
Utile
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!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de JMKPROD
JMKPROD 68 Messages postés samedi 31 mai 2003Date d'inscription 15 septembre 2007 Dernière intervention - 19 sept. 2006 à 11:52
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de JMKPROD
chaibat05 1884 Messages postés samedi 1 avril 2006Date d'inscription 20 novembre 2007 Dernière intervention - 19 sept. 2006 à 04:16
0
Utile
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
JMKPROD 68 Messages postés samedi 31 mai 2003Date d'inscription 15 septembre 2007 Dernière intervention - 19 sept. 2006 à 10:54
0
Utile
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
geobasic 69 Messages postés jeudi 6 novembre 2003Date d'inscription 3 octobre 2006 Dernière intervention - 19 sept. 2006 à 12:12
0
Utile
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.