POUR CEUX QUI PRENNENT LES LISTVIEW POUR DES LISTBOX

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 2 sept. 2005 à 15:39
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 2 sept. 2005 à 21:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33598-pour-ceux-qui-prennent-les-listview-pour-des-listbox

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
2 sept. 2005 à 21:49
c'est moi qui ai mal lu... en .NET -2 permet d'ajuster la taille de la colonne au plus grand contenu (header ou cellule)
yomm Messages postés 515 Date d'inscription dimanche 17 février 2002 Statut Membre Dernière intervention 10 mars 2008 3
2 sept. 2005 à 17:12
>> ECONS
en effet, j'utilise toujours la police par défaut mais bien vu! Pour cela utilisons la propriété height d'un listitem ;-) et en testant qu'il y a bien au moins 1 item dans la list...enfin bref cela donne :

Private Sub RefreshLV(LV As ListView)

LockWindowUpdate LV.Hwnd
Call SendMessage(LV.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)

If LV.ColumnHeaders(1).Width < LV.Width Then
If LV.ListItems.Count = 0 Then
LV.ColumnHeaders(1).Width = LV.Width - 80
LockWindowUpdate 0&
Exit Sub
ElseIf LV.Height > (LV.ListItems.Count * LV.ListItems(1).Height) Then
LV.ColumnHeaders(1).Width = LV.Width - 80
Else
If LV.ColumnHeaders(1).Width < LV.Width - 320 Then
LV.ColumnHeaders(1).Width = LV.Width - 320
End If
End If
End If
LockWindowUpdate 0&

End Sub


Pour le 80 il s'agit des bordures et pour le 320 de la largeur du scrollbar. enfin voilà maintent cela doit prendre la police en compte!!!

>> SEBMAFATE
je comprends pas trop ce que tu proposes....en effet , LV.ColumnHeaders(1).Width = -2 génère une erreur donc peut préciser ton idée STP...

bon dev et @+
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
2 sept. 2005 à 16:19
en mettant -2 pour la largeur de la colonne, normalement elle est redimensée à la plus grande largeur... le problème c'est qu'il faut renseigner cette largeur après chaque insertion.
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
2 sept. 2005 à 15:39
If LV.Height > (LV.ListItems.Count * 270) Then

Je suppose que le 270 dépend de la police employée dans la listview, et de la taille des caractères ...
Rejoignez-nous