Check out the GetScrollRange
and GetScrollPos
API...
Private Const SBS_HORZ = 0
Private Const SBS_VERT = 1
<DllImport("user32.dll")> _
Public Function GetScrollRange(ByVal hWnd As IntPtr, ByVal nBar As Integer, _
ByRef lpMinPos As Integer, _
ByRef lpMaxPos As Integer) As Boolean
End Function
<DllImport("user32.dll")> _
Public Function GetScrollPos(ByVal hWnd As Integer, _
ByVal nBar As Integer) As Integer
End Function
// ...
Dim scrollMin as Integer = 0
Dim scrollMax as Integer = 0
If(GetScrollRange(rtb.Handle, SBS_VERT, scrollMin, scrollMax) Then
Dim pos as Integer = GetScrollPos(rtb.Handle, SBS_VERT)
// Detect if they're at the bottom
EndIf
Notes:
To determine if the scrollbar is visible, call GetWindowLong
and check for WS_VSCROLL
To determine the max value the slider can get to, call GetScrollInfo
; I think the maximum value is
scrollMax - largeChange + 1
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…