Sélection dans un listview

Résolu
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 11 août 2005 à 22:46
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 - 12 août 2005 à 09:53
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 août 2005 à 22:59
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
Utilisateur anonyme
11 août 2005 à 22:53
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.
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
12 août 2005 à 09:53
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.
@+
0
Rejoignez-nous