VB+MapX移动鼠标放大和缩小

 

Private Sub Map1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Dim x1 As Double
     Dim y1 As Double
     Dim x2 As Double
     Dim y2 As Double
     Dim sngTemp As Single
     Dim tempZoom As Integer
     On Error Resume Next
     Map1.NumericCoordSys.Set miLongLat, 0     '将屏幕坐标转变为经纬度坐标
     If Button = vbLeftButton And Map1.CurrentTool = mtZoomInOut Then
         While boolButtonMove
             If Abs(Y - Map1.MapScreenHeight / 2) > Map1.MapScreenHeight / 1000 Then
                 If Y > Map1.MapScreenHeight / 2 And Y >= sglY Then
                 '缩小
                    tempZoom = Map1.Zoom + 10 * Abs(Y - Map1.MapScreenHeight / 2) / Map1.MapScreenHeight
                    If tempZoom < 600 And tempZoom > 0 Then
                    Map1.Zoom = tempZoom
                    End If
                    sglY = Y
                 ElseIf Y < Map1.MapScreenHeight / 2 And Y <= sglY Then
                 '放大/
                     tempZoom = MainForm.Map1.Zoom - 10 * Abs(Y - Map1.MapScreenHeight / 2) /Map1.MapScreenHeight
                     If tempZoom > 0 And tempZoom < 600 Then
                         Map1.Zoom = tempZoom
                     Else
                         If Map1.Zoom > 0.001 Then
                             Map1.Zoom = Map1.Zoom / 2
                         End If
                        
                     End If
                     sglY = Y
                 End If
             End If
             DoEvents
         Wend
     End If
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值