MapX应用教程(4)—对象编辑
四、对象编辑 (1)、对属性的编辑 主要使用Fields对象。示例: Dim Flds AS MapXlIB.Fields ‘修改当前图层的每一个字段 For J=1 to Flds.Count Lyr.KeyField= Flds.Item(j).Name ‘使当前图层指向J字段 ‘更新当前图元的J字段值 Ftr.KeyValue=NewV...
- 作者:未知来源:网络|2006年12月25日
四、对象编辑
(1)、对属性的编辑
主要使用Fields对象。示例:
Dim Flds AS MapXlIB.Fields
‘修改当前图层的每一个字段
For J=1 to Flds.Count
Lyr.KeyField= Flds.Item(j).Name ‘使当前图层指向J字段
‘更新当前图元的J字段值
Ftr.KeyValue=NewValueStr(J)
Ftr.Update True ‘并未写入硬盘
Next
Lyr.Refresh ‘保存修改到硬盘
(2)、移动地图
首先创建一个移动工具句柄
MainMap.CreateCustomTool MoveFeature, miToolTypeLine, miPanCursor
在Map对象的ToolUsed事件的ToolNum参数为当前所激活的工具
捕捉MoveFeature工具句柄
‘传过来的参数:X1,Y1,X2,Y2
Select case ToolNum
……..
Case MoveFeature
Dim Lyr AS MapXlib.Layer
Dim Ftr AS MapXlib.Feature
Dim Ftrs AS MapXlib.Features
Dim Xe,Ye AS Double ‘坐标偏移量
Xe=X2-X1
Ye=Y2-Y1
Set Lyr=Mainmap.Layers.Item(LayerName)
Set Ftrs=Lyr.Selection.Clone ‘将当前图层中选定的集合复制到Ftrs变量中
MainMap.AutoRedraw=False
Lyr.Editable=True
For J=1 to Ftrs.Count
Set Ftr=Ftrs.Item(J)
Ftr.Offset Xe,Ye
Ftr.Update True
Next
Lyr.Refresh
Lyr.Editable=False
MainMap.AutoRedraw=True
SET lyr=Nothing
SET Ftr=Nothing
End Select
(3)、样式更新
Dim NewStyle AS MapXLib.Style
‘初始赋值
Set Lyr=MainMap.Layers.Item(LayerName)
Set Ftrs=Lyr.AllFeatures
Set NewStyle=Ftrs.Item(1).Style
‘设置样式
With NewStyle
.SymbolType = miSymbolTypeBitmap
.SymbolBitmapSize = 24
.SymbolBitmapTransparent = False
.SymbolBitmapName = "YIEL2-32.BMP"
End With
‘更新
MainMap.AutoRedraw=False
Lyr.Editable=True
SET Ftr.Style=NewStyle
Ftr.Update True
Lyr.Refresh
Lyr.Editable=False
MainMap.AutoRedraw=True
上一篇:MapX应用教程(3)—查询
下一篇:MapX应用教程(5)—输出
+ hot
热门推荐