즐겁게 개발을...

개발보다 게임이 더 많이 올라오는 것 같은...

개발/Visual Basic 6.0

[2022.07] Listv의 칼럼을 데이터의 길이에 맞게 자동으로 맞추기

다물칸 2022. 7. 22. 17:41
728x90
반응형

안녕하세요. 구 엔조이데브에서 퍼오고 있는 비주얼베이직 6.0 팁입니다. 과연 아직도 이 언어를 사용하는 곳이 있을까요? 

 


데이터값이 변할 때 마다(리프레쉬 하며는) 컬럼 길이가 바뀝니다.

리스트뷰 콘트롤과 커맨드 버튼 콘트롤 만 있으면 됩니다. 
이것 가지고 응용하면 재미난 거 만들 수 있겠져.

 

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
반응형