//请问如何获取listview的滚动条滚动值?Option ExplicitConst SBS_HORZ = 0 Const SBS_VERT = 1 Private Const SIF_RANGE = &H1 Private Const SIF_PAGE = &H2 Private Const SIF_POS = &H4 Private Const SIF_DISABLENOSCROLL = &H8 Private Const SIF_TRACKPOS = &H10 Private Const SIF_ALL = (SIF_RANGE Or SIF_PAGE Or SIF_POS Or SIF_TRACKPOS)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 Sub Command1_Click() Dim SInfo As SCROLLINFO SInfo.cbSize = LenB(SInfo) SInfo.fMask = SIF_ALL Call GetScrollInfo(listview1.hWnd, SBS_VERT, SInfo) Debug.Print SInfo.nPos End Sub这样就可以获取listview的滚动条滚动值了,不过你要在程序中进行子类处理或者处理消息队列,这样才能及时的获得滚动条的信息
Const SBS_VERT = 1
Private Const SIF_RANGE = &H1
Private Const SIF_PAGE = &H2
Private Const SIF_POS = &H4
Private Const SIF_DISABLENOSCROLL = &H8
Private Const SIF_TRACKPOS = &H10
Private Const SIF_ALL = (SIF_RANGE Or SIF_PAGE Or SIF_POS Or SIF_TRACKPOS)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 Sub Command1_Click()
Dim SInfo As SCROLLINFO
SInfo.cbSize = LenB(SInfo)
SInfo.fMask = SIF_ALL
Call GetScrollInfo(listview1.hWnd, SBS_VERT, SInfo)
Debug.Print SInfo.nPos
End Sub这样就可以获取listview的滚动条滚动值了,不过你要在程序中进行子类处理或者处理消息队列,这样才能及时的获得滚动条的信息