Soyez le premier à donner votre avis sur cette source.
Vue 12 412 fois - Téléchargée 861 fois
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long Private Const LVM_FIRST = &H1000 Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30 Private Const LVSCW_AUTOSIZE = -1 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.Height > (LV.ListItems.Count * 270) 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
2 sept. 2005 à 21:49
2 sept. 2005 à 17:12
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 @+
2 sept. 2005 à 16:19
2 sept. 2005 à 15:39
Je suppose que le 270 dépend de la police employée dans la listview, et de la taille des caractères ...
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.