上一篇http://www.zzzyk.com/kf/201202/119588.html介绍了空间数据编辑一部分实现,今天继续完成剩余的部分实现。
1.根据选择编辑任务的不同显示不同形状的鼠标,以便指示相应任务方便编辑操作
[csharp]
1 /// <summary>
2 /// 根据选择编辑任务的不同显示不同形状的鼠标,以便指示相应任务方便编辑操作
3 /// </summary>
4 /// <param name="sender"></param>
5 /// <param name="e"></param>
6 private void cboTasks_SelectedIndexChanged(object sender, EventArgs e)
7 {
8 // Restate
9 m_MapControl.MousePointer = esriControlsMousePointer.esriPointerDefault;
10 m_bEditingFtr = false;
11 m_bSketching = false;
12 m_bSelecting = false;
13 m_bMove = false;
14
15 // Select an operation and mouse pointer depending on the user choice
16 switch (cboTasks.SelectedIndex)
17 {
18 case 0:
19 // Do Nothing - the tool has already been reset
20 break;
21 case 1:
22 m_MapControl.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
23 m_bEditingFtr = true;
24 break;
25 case 2:
26 m_MapControl.MousePointer = esriControlsMousePointer.esriPointerPencil;
27 m_bSketching = true;
28 break;
29 case 3:
30 m_MapControl.MousePointer = esriControlsMousePointer.esriPointerCrosshair;
31 m_bSelecting = true;
32 break;
33 case 4:
34 m_MapControl.MousePointer = esriControlsMousePointer.esriPointerHand;
35 m_bMove = true;
36 break;
37 }
38
39 }
2.选择需要的图层并且在地图编辑控件中显示出来
[csharp]
1 /// <summary>
2 /// 选择需要的图层并且在地图编辑控件中显示出来
3 /// </summary>
4 /// <param name="sender"></param>
5 /// <param name="e"></param>
6 private void cboLayers_SelectedIndexChanged(object sender, EventArgs e)
7 {
8 if (m_pMap == null)
9 {
10 return;
11 }
12
13 // Clear any existing selection
14 m_pMap.ClearSelection();
15 IActiveView ipActiveView;
16 ipActiveView = (IActiveView)m_pMap;
17 ipActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
18
19 String strLayerName = cboLayers.SelectedItem.ToString();
20 axMapControl1.Map.ClearLayers();
21 AddLayerToMapCtl(strLayerName, true);
22 m_pCurrentLayer = m_pMap.get_Layer(0);
23
24 SetControlStates();
25 }
3.测试是否击中地图对象或地图对象上的节点
[csharp]
1 /// <summary>
2 /// 测试是否击中地图对象或地图对象上的节点
3 /// </summary>
4 /// <param name="tolerance">查询容差</param>
5 /// <param name="pPoint">点击位置</param>
6 /// <param name="pFeature">测试对象</param>
7 /// <param name="pHitPoint
补充: 软件开发 , C# ,
查看更多关于基于ArcGIS10.0和Oracle10g的空间数据管理平台十七(C#开发)-空间数据编辑(下)的详细内容...