Redimensionner les colonnes d'un listview en fonction de leur contenu

Contenu du snippet

Private Const LVM_FIRST                 As Long  = &H1000
Private Const LVM_SETCOLUMNWIDTH        As Long  = (LVM_FIRST + 30)
Private Const LVSCW_AUTOSIZE_USEHEADER  As Long  = -2
Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As  Long
Public Sub LV_ResizeColumns(LV As ListView)
    Dim i As Long
    
    If LV.ColumnHeaders.Count > 0 Then
        Call LockWindowUpdate(LV.hwnd)
        For i = 0 To LV.ColumnHeaders.Count - 1
            Call SendMessage(LV.hwnd, LVM_SETCOLUMNWIDTH, i,  LVSCW_AUTOSIZE_USEHEADER)
        Next i
        Call LockWindowUpdate(0&)
    End If
End Sub


Compatibilité : VB6, VBA

A voir également

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.