阅读: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 |
|
|
1楼#
发布于:2004-10-22 17:20
谢谢了,一直不会这个
|
|
2楼#
发布于:2004-10-18 19:44
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|
3楼#
发布于:2004-10-18 19:44
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|
4楼#
发布于:2004-10-18 15:29
你的msn是什么,我想跟你讨论一下,或者qq
|
|
5楼#
发布于:2004-10-18 15:18
是在窗口的状态条显示测量的长度!
|
|
|
6楼#
发布于:2004-10-18 15:09
<P>MDIForm1.StatusBar1.Panels.Item(3).Text是什么啊?</P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
7楼#
发布于:2004-10-10 08:15
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
8楼#
发布于:2004-10-10 06:31
<img src="images/post/smile/dvbbs/em01.gif" />
|
|
9楼#
发布于:2003-08-21 13:17
经典,好东东
|
|
|
上一页
下一页