Détecter la présence de scrollbar dans un lisview

bioman2 Messages postés 24 Date d'inscription dimanche 1 décembre 2002 Statut Membre Dernière intervention 27 janvier 2004 - 22 janv. 2004 à 14:09
bioman2 Messages postés 24 Date d'inscription dimanche 1 décembre 2002 Statut Membre Dernière intervention 27 janvier 2004 - 22 janv. 2004 à 14:33
Bonjour à tous...
Mon problème est le suivant :
J'ai un listview à une colonne. Je voudrais que la taille de la colonne soit celle du listview quand il a un scrollbar vertical, et quand il n'en a pas.

Car si je donne la taille du listview tout le temps, un scrollbar horizontal apparaît quand le scrollbar vertical est présent.
Si je donne la taille du listview moins celle du scrollbar vertical, alors la colonne n'est pas assez grande quand le scrollabr vertical est absent.

Ca revient à détecter quand le scrollbar vertical est présent dans le listview.

Quelqu'un connaitrait-il une solution sioux ?

Thanx a lot...

1 réponse

bioman2 Messages postés 24 Date d'inscription dimanche 1 décembre 2002 Statut Membre Dernière intervention 27 janvier 2004
22 janv. 2004 à 14:33
Autant pour moi... Voilà ce que j'ai trouvé (ça peut servir pour les perfectionnistes) :


X = myListView.Width
If myListView.ListItems.Count > 0 Then
    If myListView.ListItems(myListView.ListItems.Count).Top > myListView.Height - 250 Or _
            myListView.ListItems(1).Top > myListView.Height - 250 Then
        myListView.ColumnHeaders.Item(1).Width = X - 340
    Else
        myListView.ColumnHeaders.Item(1).Width = X - 100
    End If
Else
    myListView.ColumnHeaders.Item(1).Width = X - 100
End If



Il s'agit de regarder la hauteur (top) du premier et dernier élément relativement au sommet du listview.
Si l'un des deux est plus grand que la hauteur du listview (moins la taille de l'en-tête : 250), alors, le scrollbar est là...
Et on peut alors modifer la largeur de l'en-tête de la colonne.

C'est tordu, mais ça marche !
0
Rejoignez-nous