OVH Cloud OVH Cloud

affichage dans ListView

1 réponse
Avatar
JCM
Bonjour =E0 tous

je voudrais afficher sur chaque ligne de mon ListView un=20
icone, j'=E9cris :

icon1 =3D "C:\icones\fleche.ico"

Set LaLigne =3D LVvisibilite.ListItems.Add()
LaLigne.SubItems(2) =3D icon1

et cela m'affiche "C:\icones\fleche.ico" =E0 la place de=20
l'icone

Pouvez-vous me dire ou est l'erreur
Merci d'avance
cordialement
JCM

1 réponse

Avatar
François Picalausa
Hello,

Quand tu utilise:
LaLigne.SubItems(2) = icon1


tu affecte à la propriété par défaut (caption ou text, ici) une valeur de
type string.
Il t'affiche donc la chaine comme tu le lui a demandé.
Pour afficher une icône, il faut ajouter une imagelist et le "linker" au
listview.
Dans cette imagelist ajouter une icône (soit dans l'IDE soit via un
LoadPicture/LoadResPicture) et spécifier son index à l'item.

Voici un exemple
'Une imagelist ilItems
'Une listview lvwItems
Private Sub Form_Load()
'Le listview aura le mode rapport
lvwItems.View = lvwReport

'On lui ajoute deux colonnes
lvwItems.ColumnHeaders.Add , , "Col1"
lvwItems.ColumnHeaders.Add , , "Col2"


'On ajoute l'image à associer
ilItems.ListImages.Add , , LoadPicture("E:Program FilesMicrosoft
Visual StudioCommonGraphicsIconsTrafficTRFFC01.ICO")

'On le link à l'image list
'(petites icônes dans ce cas ci)
Set lvwItems.SmallIcons = ilItems
'lvwItems.Icons pour les grandes icônes

'On ajoute un item avec une icône
Dim NewItem As ListItem
Set NewItem = lvwItems.ListItems.Add(, , "Ligne 1", , 1)

'on lui ajoute un subitem avec une icône
NewItem.ListSubItems.Add , , "Sub item 1", 1
End Sub

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"JCM" a écrit dans le message de
news:1d41601c453b6$61256350$
je voudrais afficher sur chaque ligne de mon ListView un
icone, j'écris :

icon1 = "C:iconesfleche.ico"

Set LaLigne = LVvisibilite.ListItems.Add()
LaLigne.SubItems(2) = icon1

et cela m'affiche "C:iconesfleche.ico" à la place de
l'icone