ae+C#實現圖層管理控制元件上的圖層移動功能
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Carto;
namespace MoveTocCtrlItem
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.axTOCControl1.SetBuddyControl(this.axMapControl1);
//this.axTOCControl1.EnableLayerDragDrop = true;
}
private esriTOCControlItem toccItem = esriTOCControlItem.esriTOCControlItemNone;
private IBasicMap basicMap = null;
private ILayer Lyr = null;
//移動圖層
ILayer moveLyr;
ILayer toLyr;
int toIndex;
private void axTOCControl1_OnMouseDown(object sender, ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseDownEvent e)
{
System.Object unk = null;
System.Object data = null;
if (e.button == 1)
{
axTOCControl1.HitTest(e.x, e.y, ref toccItem, ref basicMap, ref Lyr, ref unk, ref data);
if (toccItem == esriTOCControlItem.esriTOCControlItemLayer)
{
moveLyr = Lyr;
}
}
}
private void axTOCControl1_OnMouseMove(object sender, ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseMoveEvent e)
{
if(e.button==1)
this.axTOCControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerHourglass;
}
private void axTOCControl1_OnMouseUp(object sender, ESRI.ArcGIS.Controls.ITOCControlEvents_OnMouseUpEvent e)
{
System.Object unk = null;
System.Object data = null;
if (e.button == 1)
{
axTOCControl1.HitTest(e.x, e.y, ref toccItem, ref basicMap, ref toLyr, ref unk, ref data);
if (toccItem == esriTOCControlItem.esriTOCControlItemLayer)
{
toLyr = Lyr;
}
for (int i = 0;i < axTOCControl1.ActiveView.FocusMap.LayerCount; i++)
{
if (toLyr == axTOCControl1.ActiveView.FocusMap.get_Layer(i))
{
toIndex = i;
break;
}
}
}
axTOCControl1.ActiveView.FocusMap.MoveLayer(Lyr, toIndex);
axTOCControl1.Update();
this.axTOCControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerDefault;
}
}
相關文章
- 入學管理系統的頂層圖和一層圖
- 畫出入學管理系統的頂層圖和1層圖
- JS實現拖動div層移動JS
- MapObject控制元件的使用之圖層操作 (轉)Object控制元件
- 分層圖
- C# 操作PDF 圖層(Layer)—新增、刪除圖層、設定圖層可見性C#
- 解析ArrayList的底層實現(上)
- 移動端H5實現圖片上傳H5
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- Photoshop_【批量將同一背景與不同的上層合併圖層的技巧】匯出+Python3.X實現Python
- 隨滾動條移動的層
- linux驅動中實現上層select介面Linux
- Android自定義ImageView 在圖片上新增一個圖層AndroidView
- CALayer CAEmitterLayer(粒子圖層)MIT
- 分層圖最短路
- 淺談分層圖
- Dhtml:瀏覽大圖時滑鼠感應控制層捲軸的移動 (轉)HTML
- jQuery/CSS3實現圖片層疊展開特效jQueryCSSS3特效
- ArcGIS for iOS 開發系列(5) – 基礎篇-圖層-靜態圖層iOS
- 通過滑鼠的移動來實現層的隱藏與顯示
- node+express實現圖片上傳功能Express
- MVC專案實踐,在三層架構下實現SportsStore,從類圖看三層架構MVC架構
- ■某培訓機構入學管理系統有報名、交費和就讀等多項功能,畫出入學管理系統的頂層圖和1層圖
- Android實現圖片滾動控制元件Android控制元件
- Vue 高德地圖 API Loca 如何使用 連線線圖層、脈衝連線圖層Vue地圖API
- 利用node.js實現的多圖上傳功能Node.js
- arcgis怎樣把面圖層按另一面圖層分割
- 超圖js版 iclient 基本開發 - 載入基本圖層(以天地圖示例)和基本地圖控制元件JSclient地圖控制元件
- JAVA中Action層, Service層 ,model層 和 Dao層的功能區分Java
- iOS圖層效能優化iOS優化
- CALayer CAGradientLayer(梯度圖層)梯度
- 分層圖求最短路
- RoadRunner圖層轉換
- 06_應用層和核心層實現資料互動
- Core Animation實戰一(認識圖層CALayer)
- Core Animation實戰三(圖層幾何學)
- 移動端js模擬截圖生成圖片並下載功能的實現方案+踩坑過程JS
- 圖解Go的channel底層原理圖解Go