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層圖
- 分層圖
- C# 操作PDF 圖層(Layer)—新增、刪除圖層、設定圖層可見性C#
- 解析ArrayList的底層實現(上)
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- 移動端如何實現長按儲存圖片(圖片上的二維碼是動態的)?
- RoadRunner圖層轉換
- 淺談分層圖
- 分層圖最短路
- AUTOCAD——圖層線型
- ■某培訓機構入學管理系統有報名、交費和就讀等多項功能,畫出入學管理系統的頂層圖和1層圖
- 超圖js版 iclient 基本開發 - 載入基本圖層(以天地圖示例)和基本地圖控制元件JSclient地圖控制元件
- node+express實現圖片上傳功能Express
- arcgis怎樣把面圖層按另一面圖層分割
- 移動端js模擬截圖生成圖片並下載功能的實現方案+踩坑過程JS
- Vue 高德地圖 API Loca 如何使用 連線線圖層、脈衝連線圖層Vue地圖API
- 分層圖求最短路
- CAD如何設定圖層
- 圖解Go的channel底層原理圖解Go
- AI框架中圖層IR的分析AI框架
- 06_應用層和核心層實現資料互動
- 玩家角色——移動功能和動畫藍圖動畫
- LinkedList的底層實現
- Minya 分層框架實現的思考(一):依賴轉移框架
- canvas拼圖功能實現Canvas
- canvas實現截圖功能Canvas
- 深入底層之實現 Laravel 路由註冊功能Laravel路由
- node中間層實現檔案上傳
- 預設後臺Kindeditor編輯器在ie11下,彈出層js有問題,點上傳圖片後,圖片上傳彈出層不出現IE11JS
- 系統學習iOS動畫之三:圖層動畫iOS動畫
- photoshop無法刪除圖層
- 繪製層次結構圖
- jquery 滑鼠移到圖片彈出浮動層顯示大圖片例子jQuery
- 十分鐘快速掌握HashMap底層實現原理(圖文詳解)HashMap
- ArrayList底層的實現原理
- 程式碼質量第 5 層 - 只是實現了功能
- js 實現 bind 的這五層,你在第幾層?JS
- 分離圖層做動畫有什麼優點?動畫