当控件里的图放大一定比例是,会自动有滚动条,此时我想通过mousemove移动滚动条
但没效果,代码如下,各位帮忙看看问题在哪里,tks
代码如下:
Private Sub ImgEdit1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
bx = X
by = Y
Startmove = True
End If
End SubPrivate Sub ImgEdit1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'On Error Resume Next
If Y > ImgEdit1.Top And Y < ImgEdit1.Top + ImgEdit1.Height And ImgEdit1.Height > Screen.Height - 1200 Then '如果鼠标在控件内
VScroll1.Value = (Y - ImgEdit1.Top) / (ImgEdit1.Height) * 100
End If
If X > ImgEdit1.Left And X < ImgEdit1.Left + ImgEdit1.Width And ImgEdit1.Height > Screen.Height - 1200 Then
HScroll1.Value = (X - ImgEdit1.Left) / (ImgEdit1.Width) * 100
End IfIf Startmove Then HScroll1.Value + X - bx, VScroll1.Value + Y - by
End Submousemove滚动条
但没效果,代码如下,各位帮忙看看问题在哪里,tks
代码如下:
Private Sub ImgEdit1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
bx = X
by = Y
Startmove = True
End If
End SubPrivate Sub ImgEdit1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'On Error Resume Next
If Y > ImgEdit1.Top And Y < ImgEdit1.Top + ImgEdit1.Height And ImgEdit1.Height > Screen.Height - 1200 Then '如果鼠标在控件内
VScroll1.Value = (Y - ImgEdit1.Top) / (ImgEdit1.Height) * 100
End If
If X > ImgEdit1.Left And X < ImgEdit1.Left + ImgEdit1.Width And ImgEdit1.Height > Screen.Height - 1200 Then
HScroll1.Value = (X - ImgEdit1.Left) / (ImgEdit1.Width) * 100
End IfIf Startmove Then HScroll1.Value + X - bx, VScroll1.Value + Y - by
End Submousemove滚动条
fMask As Long
End Type
Private Declare Function GetScrollInfo Lib "user32" (ByVal hwnd As Long, ByVal n As Long, lpScrollInfo As SCROLLINFO) As Long
Private Const SB_VERT = 1
Private Const SIF_POS = &H4
Private Sub Command1_Click()
Dim si As SCROLLINFO
Dim strMsg As String
Dim lngRet As Long
With si
.fMask = SIF_POS
lngRet = GetScrollInfo(ImgEdit1.hwnd, SB_VERT, si) ‘imgedit1为控件名,改为窗体效果都一样
If lngRet <> 0 Then
MsgBox "出现滚动条"
Else
MsgBox "没有滚动条"
End If
End With
End Sub
运行程序总是“没有滚动条”