Sélection dans un listview [Résolu]

Signaler
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
-
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
-
Violent Ken

Salut


Bon voilà mon problème :

je travaille avec un contrôle ListView et dans le "mode détail", c'est à dire que ListView1.View = lvwReport
Dans chaque ligne de mon listview, il y a le nom d'un fichier, et j'ai mis des colonnes pour la taille du fichiers, la date...
Et en fait, j'aimerai pouvoir sélectionner UNIQUEMENT la taille du fichier :
je m'explique :

Set obj = ListView1.ListItems.Add(, , "nom du fichier 1")
obj.SubItems(1) = filelen("nom du fichier 1")

Il apparait donc un "tableau" a deux colonnes, avec d'une part le nom du fichier (première colonne) et d'autre part sa taille (deuxième colonne). Et quand je sélectionne quelque chose dans ma ListView, je ne peut peut QUE sélectionner l' ITEM ( et pas le SUBITEM), autrement dit seul le NOM du fichier est en surbrillance. J'aimerais pouvoir mettre soit - juste la taille en surbrillance
- toute la ligne en surbrillance
D'autre part, il existe l'evenement LabelEdit, c'est a dire que je peut modifier la string contenue de l'ITEM et cliquant dessus quand il est déjà sélectionné. Est-il possible d'utiliser l'évênement LabelEdit pour les SUBITEM ?

Je ne sais pas si tout cela est possible, mais merci pour votre aide !
@+

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut
Les ListView sont les composants utilisés pour ton explorateur de fichier de Windows.
Il ne t'ai pas possible de sélectionner un élément qui se trouvent dans les sous-colonnes, c'est comme ça.
Pour pouvoir faire ce que tu cherches, il faudra utiliser un composant de type "grille" : FlexGrid : là, tu feras ce que tu veux mais c'est un peu moins hestétique.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Bonjour,




Utilise la propriété FullRowSelect pour séléctionner une ligne entière.



ChRB





<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
Violent Ken

Merci à Charles Racaud pour la propriété FullRowSelect, çà répond à la première partie de ma question, et marci aussi à jack qui répond à la seconde partie de ma question .
Et effectivement, le composant Flexgrid est pas très éstéthique, mais bon...

Il y aurait peut-être un contrôle qui serait bien, c'est celui utilisé dans le lecteur Windows Media 10 pour la bibliothèque : on peut sélectionner n'importe quel élément de la liste, et c'est ésthétique . Mais je sais pas si il existe en VB.
@+