Public Const LVM_FIRST = &H1000 Public Const LVM_SETCOLUMNWIDTH As Long = LVM_FIRST + 30Public Const LVSCW_AUTOSIZE_USEHEADER = -2 Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal Msg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As LongPrivate Sub Check13_Click() Dim rStyle As Long Dim ColumnIndex As Long Dim r As Long 'get the current ListView style rStyle = SendMessageLong(ListView1.hwnd, LVM_SETCOLUMNWIDTH, 0&, 0&)
If Check13.Value = 0 Then 'remove the full row select bit rStyle = rStyle Xor LVSCW_AUTOSIZE_USEHEADER ElseIf Check13.Value = 1 Then 'set the full row select bit rStyle = rStyle Or LVSCW_AUTOSIZE_USEHEADER End If
With ListView1 For ColumnIndex = 1 To .ColumnHeaders.Count r = SendMessageLong(.hwnd, LVM_SETCOLUMNWIDTH, ColumnIndex - 1, rStyle) Next ColumnIndex End With End Sub
Public Const LVM_SETCOLUMNWIDTH As Long = LVM_FIRST + 30Public Const LVSCW_AUTOSIZE_USEHEADER = -2
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal Msg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As LongPrivate Sub Check13_Click()
Dim rStyle As Long
Dim ColumnIndex As Long
Dim r As Long
'get the current ListView style
rStyle = SendMessageLong(ListView1.hwnd, LVM_SETCOLUMNWIDTH, 0&, 0&)
If Check13.Value = 0 Then 'remove the full row select bit
rStyle = rStyle Xor LVSCW_AUTOSIZE_USEHEADER
ElseIf Check13.Value = 1 Then
'set the full row select bit
rStyle = rStyle Or LVSCW_AUTOSIZE_USEHEADER
End If
With ListView1
For ColumnIndex = 1 To .ColumnHeaders.Count
r = SendMessageLong(.hwnd, LVM_SETCOLUMNWIDTH, ColumnIndex - 1, rStyle)
Next ColumnIndex
End With
End Sub