New findings:
When ucListview1 Group is enabled, the scrollbar unit is pixels.
When ucListview1 Group is disabled, the scrollbar unit is number of items.
e.g. ucListview1 Group is enabled,click scrollbar scoll down button once,Value(efsVertical) =33 (pixels)
e.g. ucListview1 Group is disabled,click scrollbar scoll down button once,Value(efsVertical) =1 (item)
MsgBox CStr(Min(efsVertical) & ":" & Max(efsVertical) & ":" & LargeChange(efsVertical) & ":" & Value(efsVertical))
'/* Bars:
Private Enum EFSScrollBarConstants
efsHorizontal = 0
efsVertical = 1
End Enum
Private Type SCROLLINFO
cbSize As Long
fMask As Long
nMin As Long
nMax As Long
nPage As Long
nPos As Long
nTrackPos As Long
End Type
Private Declare Function GetScrollInfo Lib "user32" (ByVal hWnd As Long, _
ByVal n As Long, _
LPSCROLLINFO As SCROLLINFO) As Long
Private Declare Function SetScrollInfo Lib "user32" (ByVal hWnd As Long, _
ByVal n As Long, _
lpcScrollInfo As SCROLLINFO, _
ByVal BOOL As Boolean) As Long
Private Sub pGetSI(ByVal eBar As EFSScrollBarConstants, _
ByRef tSI As SCROLLINFO, _
ByVal fMask As Long)
Dim lO As Long
lO = eBar
tSI.fMask = fMask
tSI.cbSize = LenB(tSI)
GetScrollInfo ucListView1.hWnd, lO, tSI
End Sub
Private Property Get Min(ByVal eBar As EFSScrollBarConstants) As Long
Dim tSI As SCROLLINFO
pGetSI eBar, tSI, &H1
Min = tSI.nMin
End Property
Private Property Get Max(ByVal eBar As EFSScrollBarConstants) As Long
Dim tSI As SCROLLINFO
pGetSI eBar, tSI, &H1 Or &H2
Max = tSI.nMax - tSI.nPage
End Property
Private Property Get Value(ByVal eBar As EFSScrollBarConstants) As Long
Dim tSI As SCROLLINFO
pGetSI eBar, tSI, &H4
Value = tSI.nPos
End Property
Private Property Get LargeChange(ByVal eBar As EFSScrollBarConstants) As Long
Dim tSI As SCROLLINFO
If (eBar = efsHorizontal) Then
pGetSI eBar, tSI, &H2
LargeChange = tSI.nPage
Else
pGetSI eBar, tSI, &H2
LargeChange = tSI.nPage
End If
End Property