多谢了~~如何解决这个办法呢?

解决方案 »

  1.   

    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