Exlistview- listview personnalisé

Soyez le premier à donner votre avis sur cette source.

Vue 9 397 fois - Téléchargée 1 059 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

cs_xav2303
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 ?
bouv
Messages postés
1429
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
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.
Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17 -
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.
bouv
Messages postés
1429
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
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...
bouv
Messages postés
1429
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
-
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

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.