AE学习笔记

论坛 期权论坛 脚本     
匿名技术用户   2021-1-2 06:42   11   0

在安装完AE和VS后,启动VS,新建项目,在控件工具栏看到列出的AE控件,主要会使用的是MapControl(数据视图)、PageLayoutControl(布局视图),TOOCControl(需设置与MapControl、PageLayoutControl和SceneControl的伙伴关系(buddy)),ToolbarControl(通过右键属性->Iems添加命令按钮)以及LisenceControl(每个窗体都必须加载,可以控制功能权限)。

也可以自己添加控件,需要添加引用及命名空间Controls,SystemUI

(1)实现打开地图,添加一button控件

//实现加载地图文档

OpenFileDialog openFileDialog=new OpenFileDialog();

openFileDialog.Title = "打开地图文档";

openFileDialog.Filter = "map document(*.mxd)|*.mxd";
openFileDialog.ShowDialog();
string filepath = openFileDialog.FileName;
if (axMapControl1.CheckMxFile(filepath))
{
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerHourglass;
axMapControl1.LoadMxFile(filepath, 0, Type.Missing);
axMapControl1.MousePointer = ESRI.ArcGIS.Controls.esriControlsMousePointer.esriPointerDefault;
}
else
{
MessageBox.Show(filepath + "不是有效地地图文档");
}

(2)实现漫游

ICommand pCommand = new ControlsMapPanToolClass();
pCommand.OnCreate(axMapControl1.Object);
axMapControl1.CurrentTool = pCommand as ITool;

(3)全局视图

ICommand pCommand = new ControlsMapFullExtentCommandClass();
pCommand.OnCreate(axMapControl1.Object);
pCommand.OnClick();

(4)放大

ICommand pCommand = new ControlsMapZoomInToolClass();
pCommand.OnCreate(axMapControl1.Object);
axMapControl1.CurrentTool = pCommand as ITool;

(5)缩小

ICommand pCommand = new ControlsMapZoomOutToolClass();
pCommand.OnCreate(axMapControl1.Object);
axMapControl1.CurrentTool = pCommand as ITool;

(6)属性查询

ICommand pCommand = new ControlsMapIdentifyToolClass();
pCommand.OnCreate(axMapControl1.Object);
axMapControl1.CurrentTool = pCommand as ITool;


今天用到ICommand和QI


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP