세부 모드에서 VB6 listview를 사용하여 X 항목 수를 표시합니다. 지정된 너비와 항목 수를 기준으로 높이를 평가하는 자동 높이 기능을 만들고 싶습니다. WinApi : ListView 높이 계산
작업하지 않았다 코드를 다음 이Public Declare Function MessageSend Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const LVM_FIRST As Long = &H1000
Public Const LVM_APPROXIMATEVIEWRECT As Long = (LVM_FIRST + 64)
Public Sub GetAutoWidth(lvw as ListView)
result = MakeLPAram(-1, 0)
MessageSend lvw.hWnd, LVM_APPROXIMATEVIEWRECT, -1&, result
lvw.height = loWord(result) * Screen.TwipsPerPixelX
End Sub
Public Function LoWord(value As Long) As Long
LoWord = (value And &HFFFF&)
End Function
Public Function MakeLPAram(wLow As Long, wHigh As Long) As Long
MakeLPAram = MakeLong(wLow, wHigh)
End Function
Public Function MakeLong(wLow As Long, wHigh As Long) As Long
MakeLong = LoWord(wLow) Or (&H10000 * LoWord(wHigh))
End Function
이 사람이 나를 도와 드릴까요?
가 어떻게 작동하지 않았다? – Deanna
은 하위 단어는 65535이고, 하이 단어는 0입니다. – user884248
변수의 값으로 의견을 다시 작성하십시오. –