Utilisation des listviews

Description

Petit tutoriel pour débutants en VB expliquant le fonctionnement basique des ListViews.

Mise à jour du 30 Juin 2002:
- Changement de la capacité de l'ordinateur (voir items de la liste)
- Retaillage de la ListView plus stricte
- Changement de version du contrôle ListView fournie dans l'exemple (version 6 au lieu de 5)
- Option d'affichage d'une grille
- Mise d'un Timer (permettant de tenir compte des dimensions de la ListView après redimensionnement)

Ce qu'il vous faut:
- Une feuille
- Une ListView (Nom: View1) - Pour disposer du contrôle ListView, allez dans Projets\Composants et sélectionnez Microsoft Windows Common Controls X.X, avec X.X étant votre version de VB (normallement)
- Un système de menus
- Un Timer (Timer1)
Téléchargez le zip car j'ai pas eu trop envie de détailler le système de menus (je vous balance quand même la source pour les téméraires!)
Bonne chance et à plus.

Source / Exemple :


Private Function ChargerListe()
'On déclare ObjListe qui nous servira à fabriquer des nouveau objets de liste
Dim ObjListe As ListItem
'On efface tout dans la liste
View1.ColumnHeaders.Clear
View1.ListItems.Clear
'Ajoute les titres des colonnes
View1.ColumnHeaders.Add , , "Produit", View1.Width / 5
View1.ColumnHeaders.Add , , "Description", View1.Width / 1.5
View1.ColumnHeaders.Add , , "Prix (?)", View1.Width / 5.5
'Ajoute le produit1
Set ObjListe = View1.ListItems.Add(, , "Logiciel")
'Ajoute la description1
ObjListe.SubItems(1) = "Réalisé par Ammoni@k"
'Ajoute le prix1
ObjListe.SubItems(2) = "500"
'On recommence
Set ObjListe = View1.ListItems.Add(, , "Code")
ObjListe.SubItems(1) = "Fourni par Ammoni@k"
ObjListe.SubItems(2) = "10000"
Set ObjListe = View1.ListItems.Add(, , "Ordinateur")
ObjListe.SubItems(1) = "3 GHz, 512 Mo DDR-SDRAM 2, 120 Go, Ecran 21" & Chr(34)
ObjListe.SubItems(2) = "4000"
Set ObjListe = View1.ListItems.Add(, , "Ecran plat")
ObjListe.SubItems(1) = "TFT, 22" & Chr(34) & ", pitch 0,22"
ObjListe.SubItems(2) = "4500"
End Function

Private Sub Form_Resize()
'Retaille la liste
View1.Top = 0
View1.Left = 0
View1.Height = Height - 600
View1.Width = Width - 100
End Sub

Private Sub smCacherTitres_Click()
If smCacherTitres.Checked = False Then
    'Coche la case correspondantes
    smCacherTitres.Checked = True
    'Cache les titres
    View1.HideColumnHeaders = True
Else
    'Décoche la case correspondantes
    smCacherTitres.Checked = False
    'Montre les titres
    View1.HideColumnHeaders = False
End If
End Sub

Private Sub smDescendant_Click()
smDescendant.Checked = True
smMontant.Checked = False
'Active le tri alphabétique dans l'ordre descendant
View1.SortOrder = lvwDescending
End Sub

Private Sub smDétails_Click()
smDétails.Checked = True
smGdesIcones.Checked = False
smListe.Checked = False
smPetitesIcones.Checked = False
'Active le mode petites icônes
View1.View = lvwReport
End Sub

Private Sub smGdesIcones_Click()
smDétails.Checked = False
smGdesIcones.Checked = True
smListe.Checked = False
smPetitesIcones.Checked = False
'Active le mode grandes icônnes
View1.View = lvwIcon
End Sub

Private Sub smGrille_Click()
If smGrille.Checked = True Then
    smGrille.Checked = False
    View1.GridLines = False
Else
    smGrille.Checked = True
    View1.GridLines = True
End If
End Sub

Private Sub smListe_Click()
smDétails.Checked = False
smGdesIcones.Checked = False
smListe.Checked = True
smPetitesIcones.Checked = False
'Active le mode liste
View1.View = lvwList
End Sub

Private Sub smMontant_Click()
smDescendant.Checked = False
smMontant.Checked = True
'Active le mode de tri alphabétique montant
View1.SortOrder = lvwAscending
End Sub

Private Sub smMultiselection_Click()
If smMultiselection.Checked = False Then
    'Coche la case
    smMultiselection.Checked = True
    'Active la multiselection
    View1.MultiSelect = True
Else
    'Décoche la case
    smMultiselection.Checked = False
    'Désactive la multiselection
    View1.MultiSelect = False
End If
End Sub

Private Sub smNon_Click()
smOui.Checked = False
smNon.Checked = True
'Désactive le tri alphabétique
View1.Sorted = False
End Sub

Private Sub smOui_Click()
smOui.Checked = True
smNon.Checked = False
'Active le tri alphabétique
View1.Sorted = True
End Sub

Private Sub smPetitesIcones_Click()
smDétails.Checked = False
smGdesIcones.Checked = False
smListe.Checked = False
smPetitesIcones.Checked = True
'Active le mode petites icônes
View1.View = lvwSmallIcon
End Sub

Private Sub smQuitter_Click()
'Quitte le programme
End
End Sub

Private Sub smRecharge_Click()
'Charge la liste
ChargerListe
End Sub

Private Sub Timer1_Timer()
'Sélectionne le tri alphabétique
smOui_Click
'Sélectionne le mode d'affichage des icônes avec détails
smDétails_Click
'Charge la liste
ChargerListe
'Arrêt du Timer
Timer1.Enabled = False
End Sub

Conclusion :


Si vous voulez d'autres infos ou des fonctions plus avancées sur les ListViews, n'hésitez pas à m'adresser un mail.

Codes Sources

A voir également

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.