阅读:3740回复:12
MapX编程指南 -----如何实现测距
a.//创建测距工具
global const calculatedistance=1 Private Sub Form_Load() map1.CreateCustomTool(calcilatedistance,miToolTypepoly ,microsscursor) End Sub Private Sub Distances_Click() map1.currenttool=calculatetool End Sub b.//在mapx的PolyToolUsed事件中, 用Distance( x1,y1,x2,y2 )计算距离,由状态条中或label显示。 Private Sub Map1_PolyToolUsed(ByVal ToolNum As Integer, ByVal Flags As Long, ByVal points As Object, ByVal bShift As Boolean, ByVal bCtrl As Boolean, EnableDefault As Boolean) Dim DisSum As Double Dim Dis As Double Dim n As Integer Dim pts As New MapXLib.points Dim x1 As Double, y1 As Double, x2 As Double, y2 As Double Set pts = points DisSum = 0 MDIForm1.StatusBar1.Panels.Item(3).Text= Format(Str(DisSum), "#,##0.000000") Select Case Flags Case miPolyToolBegin Case miPolyToolInProgress If ToolNum = CalculateDistance Then For i = 1 To pts.Count - 1 x1 = pts.Item(i).X y1 = pts.Item(i).Y x2 = pts.Item(i + 1).X y3 = pts.Item(i + 1).Y Dis = Map1.Distance(x1, y1, x2, y2) DisSum = DisSum + Dis MDIForm1.StatusBar1.Panels.Item(3).Text = Format(Str(DisSum), "#,##0.000000") Next i End If Case miPolyToolEnd End Select |
|
|
2楼#
发布于:2003-07-31 17:58
我看的懂得的VB代码!
甘露!谢谢斑竹! |
|
3楼#
发布于:2003-08-01 13:57
谢谢!
|
|
4楼#
发布于:2003-08-20 12:45
支持
|
|
5楼#
发布于:2003-08-21 13:17
经典,好东东
|
|
|
6楼#
发布于:2004-10-10 06:31
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
7楼#
发布于:2004-10-10 08:15
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
8楼#
发布于:2004-10-18 15:09
<P>MDIForm1.StatusBar1.Panels.Item(3).Text是什么啊?</P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
9楼#
发布于:2004-10-18 15:18
是在窗口的状态条显示测量的长度!
|
|
|
上一页
下一页