Option ExplicitPrivate Declare Function SendMessage Lib "USER32" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As LongPrivate Const LVM_FIRST = &H1000
Private Const LVM_GETCOLUMNWIDTH = LVM_FIRST + 29
Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30Private Sub SetListViewColumnWidth(ByVal lvw As ListView, ByVal Col As Long, ByVal Width As Long)
If (lvw.View = lvwList Or lvw.View = lvwReport) Then
SendMessage lvw.hwnd, LVM_SETCOLUMNWIDTH, Col, Width
End If
End Sub其中:
1、Col 参数是基于 0 的,即 ColumnHeader.Index - 1
2、Width 参数为 -1 表示适应该列数据的最大宽度,-2 表示适应该列标题的最大宽度,其他值则自定义宽度。Private Sub Command1_Click()
SetListViewColumnWidth ListView1, 1, -1
End Sub
ByVal hwnd As Long, _
ByVal Msg As Long, ByVal wParam As Long, _
ByVal lParam As Long) As LongPrivate Const LVM_FIRST = &H1000
Private Const LVM_GETCOLUMNWIDTH = LVM_FIRST + 29
Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30Private Sub SetListViewColumnWidth(ByVal lvw As ListView, ByVal Col As Long, ByVal Width As Long)
If (lvw.View = lvwList Or lvw.View = lvwReport) Then
SendMessage lvw.hwnd, LVM_SETCOLUMNWIDTH, Col, Width
End If
End Sub其中:
1、Col 参数是基于 0 的,即 ColumnHeader.Index - 1
2、Width 参数为 -1 表示适应该列数据的最大宽度,-2 表示适应该列标题的最大宽度,其他值则自定义宽度。Private Sub Command1_Click()
SetListViewColumnWidth ListView1, 1, -1
End Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货