데이터값이 변할 때 마다(새로고침) 컬럼 길이가 바뀝니다.
리스트뷰 콘트롤과 커맨드 버튼 콘트롤 만 있으면 됩니다.
이것 가지고 응용하면 재미난 것을 만들 수 있습니다.
VB
Option Explicit Private Declare Function SendMessage Lib "user32.dll" _ Alias "SendMessageA" (ByVal hWnd As Long, _ ByVal Msg As Long, ByVal wParam As Long, _ ByVal lParam As Long) As Long Private Const LVM_FIRST = &H1000 Private Const LVM_SETCOLUMNWIDTH = (LVM_FIRST + 30) Private Const LVSCW_AUTOSIZE = -1 Private Const LVSCW_AUTOSIZE_USEHEADER = -2 Private Sub Form_Load() With ListView1 .ColumnHeaders.Add , , "First Header" .ColumnHeaders.Add , , "Header #2" .ColumnHeaders.Add , , "Yet Another Header" .ColumnHeaders.Add , , "Our Final Header" End With End Sub Private Sub cmdSize_Click() Dim Column_to_size As Long Dim Counter As Long Counter = 0 For Column_to_size = Counter To ListView1.ColumnHeaders.Count - 2 SendMessage ListView1.hWnd, _ LVM_SETCOLUMNWIDTH, _ Column_to_size, _ LVSCW_AUTOSIZE_USEHEADER Next End Sub