Exlistview- listview personnalisé

Soyez le premier à donner votre avis sur cette source.

Vue 9 502 fois - Téléchargée 1 200 fois

Description

C'est un ListView personnalisé qui permet la modification du dessin des éléments et de la sélection.

Paramètrages possibles :

- Couleur de bordure unicolor ou dégradé
- Couleur de fond unicolor ou dégradé
- Forme de l'élément (rectange ou rectangle arrondie avec choix des angles reglage du rayon)

Avec un bon paramètrage on arrive à faire quelque chose de sympa ! (Voir capture)

Coté code :

Cette source démontre comment personnaliser un listview classique via les méthodes DrawItem, DrawSubItem, DrawColumnHeader.

Pour la réalisé je suis parti de l'article msdn ==> http://msdn.microsoft.com/fr-fr/library/system.windows.forms.listview.ownerdraw.aspx

Elle démontre aussi comment se servir des fonction GDI+ du framework, les dessins de formes et les dégradés (GraphicPath, GradientPath, Brushs, Pens, DrawText, DrawRect...)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
lundi 17 mars 2008
Statut
Membre
Dernière intervention
21 octobre 2009

Bonjour
Un autre bug aussi : En mode Tile pour View ça répète 2 fois le nom de l'item... Quelqu'un voie d'où ça vient ?
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Ils disparaissent... puis réapparaissent... c'est ça ?

Je ne sais plus comment mais j'avais trouvé comment résoudre le problème.
De plus cela semble se produire de manière aléatoire.
Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
27
Merci :)

Dès que j'ai un moment je met à jour !

Il y a un autre bug, mais qui vient du listview lui même, lors ce que l'on met en détails, que l'on ajoute des éléments puis que l'on survole ceux-ci avec le pointeur.
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Autre bug ou plutot inconvenient. En mode ExViewMode, les item dessinés ne sont pas transparents. Donc lorsque l'on utilise une image de fond, celle-ci se trouve cachée par items.

Pour reproduire le comportement original de la LV (item transparents, sauf s'ils sont selectionnés), j'ai du adapté le code de la procédure OnDrawItem qui commence désormais ainsi :

If e.Item.Index < 0 Then
Exit Sub
ElseIf Me.Items(e.Item.Index).Selected = False Then
MyBase.OnDrawItem(e)
ElseIf _ExViewMode Then

Mais peut-etre existe-t-il une autre solution...
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
Super code. Juste un petit bug. Lorsqu'une colonne est masquée les premières lettre du SubItem s'affichent quand même et se superposent avec le SubItem suivant.

Pour résoudre le problème il suffit d'ajouter cette ligne au début de la procédure OnDrawSubItem :

If Me.Columns(e.ColumnIndex).Width = 0 Then Exit Sub
Afficher les 8 commentaires

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.