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