Listview

Signaler
Messages postés
19
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
21 juillet 2005
-
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
-
Amis développeurs bonjour,

Je voudrai empécher la selection dans une listview sans utiliser enable = false. Lorsque que je clique sur la liste je ne veux pas pouvoir sélectionner un éléments. Il faut aussi qu'a tout moment je puisse mettre dans mon code la possibilté de pouvoir reselectionner dans la listview.

Merci pour votre aide

3 réponses

Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
si tu peux pas avec les propriétés il faut utiliser les API notemment sendMessage pour les listviews, mais c pas gagné d'avance , mais ca doit se trouver sur le net

|The S@ib|
VBP2P project
0
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
J'ai eu à faire ceci une fois avec un list normal et voilà ce que j'ai fait. Il s'agit d'affecter une propriété spéciale à chaque item - ici ItemBackColor puis de gérer le tout dans l'événement click :

If lstActions.ItemBackColor(i) = &HC0C0FF And
lstActions.Selected(i) = True Then

lstActions.Selected(i) = False
End If

Tu peux faire un tableau variable ex :
dim LV_Tableau(0 to 10 as boolean)...puis tu remplis le tableau en même temps que le listview en mettant l'index de l'item puis true si tu peux sélectionner l'item....enfin...c'est très possible.
raff
0
Messages postés
182
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
5 janvier 2004
3
bon alors voilà le code, c'est très facile:

Option Explicit
Dim x(1 To 10) As Boolean

Private Sub Form_Load()
ListView1.ListItems.Add 1, , "Allo"
x(1) = True
End Sub

Private Sub ListView1_ItemClick(ByVal Item As ComctlLib.ListItem)
If x(ListView1.SelectedItem.Index) = True Then
ListView1.SelectedItem.Selected = False
End If
End Sub
0