|
|
|
|

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工具句柄 
‘传过来的参数:X1Y1X2Y2 
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)—输出