Listview et selection

je test
Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
6 décembre 2009
- 20 févr. 2007 à 18:30
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
- 20 févr. 2007 à 22:03
slt à tous

j'ai une listview qui se rempli automatiquement au chargement de mon soft, je voudrais que lorsque j'appuis sur un bouton, la 2èm ligne de ma listview se selectionne, je ne sais pas comment faire ca, et j'ai chercher pourtant.

merci les Z'amis

13 réponses

jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
20 févr. 2007 à 18:35
Private Sub Command1_Click()
 ListView1.ListItems(2).Selected = True
 ListView1.SetFocus
End Sub
0
je test
Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
6 décembre 2009

20 févr. 2007 à 19:45
merci de ta réponse

et si je veux choisir une option precise de la listview, du style j'ai :
test1
test2
test3
test4

et je veux selectionner test3

Je sais j'abuse
0
je test
Messages postés
23
Date d'inscription
dimanche 17 avril 2005
Statut
Membre
Dernière intervention
6 décembre 2009

20 févr. 2007 à 19:47
en fait dans ta réoinse ca selectionne mais ca ne valide pas par contre, tu connais la suite pour selectionner et valider comme si j'avais fais un clic ,
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
20 févr. 2007 à 20:45
Tu rigoles ou quoi, là ?

tu n'as pour celà nul besoin de sélectionner (puisque tu sais déjà ce que tu veux "voir".... )!

voilà (mais tout ceci est dans ton aide en ligne ! Lis-là, s'il te plait ....

Private Sub Command2_Click()
   MsgBox ListView1.ListItems(2)
   MsgBox ListView1.ListItems(2).SubItems(1)
End Sub
0

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

Posez votre question
cs_Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
20 févr. 2007 à 20:53
Salut Je Test et Bonsoir Jmfmarques,

Moi je ne comprend pas pourquoi, tu veux cela par un bouton, alors que la Listview à des propriétées intéressantes(valider un item par la souris, la réponse de la séléction ta été donné) :

Private Sub ListView1_ItemClick(ByVal ItemValide As ListItem)
   Dim LongIndex As Long
   Dim Info As String

'  Récupération de l'index
 LongIndex = ItemValide.Index
 
 Info =  ListView1.ListItems(LongIndex) 
 MsgBox Info

End Sub

A+
Exploreur
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 févr. 2007 à 21:03
pourquoi vous repasser toujours par l'index ?

Private Sub ListView1_ItemClick(ByVal ItemValide As ListItem)
   MsgBox ItemValide.Text
End Sub

Daniel
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
20 févr. 2007 à 21:09
Salut Daniel,

Parce qu'elle veut cliquer sans cliquer ...
0
cs_Exploreur
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
20 févr. 2007 à 21:12
Bonsoir Gobillot,

Par "stupidité" je passe en récupèrant l'index, merci de m'avoir repris..Cela ne sera pas perdu pour moi.
Si un Admin passe par là, pourriez-vous SVP, effacer mon message de 20:53, merci par avance.

A+
Exploreur 
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 févr. 2007 à 21:20
Salut Exploreur, Salut jmf
c'est pas la première que je vois repasser par l'index alors qu'on peut utiliser directement

sinon pour simuler le Click, on peut aussi appeler l'évêment:

Private Sub Command2_Click()
    Dim Item As ListItem
    Set Item = ListView1.ListItems(2)
    Call ListView1_ItemClick(Item)
    ListView1.SetFocus
End Sub

Daniel
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
20 févr. 2007 à 21:25
Hé ... bé !.....

Et... dis-nous, Daniel... tu serais pas toi également passé par l'index, là ? (c'est quoi, alors ce (2) ?... hmm ? )
Autant, alors, s'y référer plus simplement et plus rapidemanet par
ListView1.ListItems(2)
Non ?
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 févr. 2007 à 21:32
ben en fait ... ben oui
mais ... ben ...c'est parce que j'ai rien compris à la question
voyons:
il sagit de sélectionner un item dans une ListView ... lequel  (rnd) ???
on donne le focus à la ListView si j'ai bien compris et après on fait quoi ?
pour simuler l'évênement, faut bien l'appeler non ?

Daniel
0
jmfmarques
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
20 févr. 2007 à 21:39
Tu as raison, Daniel... Elle s'esplique mal et il faut deviner...
Elle veut tout simplement, sans faire un click sur un "item" de son choix (index; donc) obtenir le même résultat que celui qu'elle aurait obtenu en cliquant matériellement.
Pourquoi faire ? Je n'en sais franchement rien... (peut-être dans une boucle, pour alimenter un fichier texte ?... va donc savoir...)
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
20 févr. 2007 à 22:03
voilà, j'ai trouvé une autre solution:
il y a un tas de calcul qui dépendent des paramètres de la ListView, de la police, de la taille de ColumnHeader,
du scalemode de la forme, etc....
mais chez moi, ça marche.

Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Sub Command1_Click()
    Dim index As Long
   
    index = 1
   
    SetCursorPos LV.Left + (Me.Left / 15) + 20, LV.Top + (Me.Top / 15) + 30 + 17 + 8 + (index - 1) * 16
    mouse_event 6&, 0&, 0&, 0&, 0&
  
End Sub

Daniel
0