MapControl控件

 MapControl对应ArcMap中的数据视图,它封装了Map对象,并提供了额外的属性、方法、事件用于:

  1. 管理控件的外观、显示属性和地图属性;
  2. 添加并管理控件中的数据层;
  3. 装载Map文档(.mxd)到控件中
  4. 从其它应用程序拖放数据到控件中;
  5. Tracking shapes and drawing to the display

  ArcGIS的每种控件都有属性可以设置,它们可以在可视化环境中进行编辑。将控件拖放到窗体上后,用户可以右键点击,选择“属性”菜单来编辑这些属性,它们可以让用户不编写一行代码的情况下快速构建一个GIS应用程序。

  MapControl实现的主要接口有:IMapControlDefault、IMapControl2、IMapControl3和事件接口IMapControlEvents2。

  主要接口

  IMapControlDefault接口

  IMapControlDefault接口时地图控件缺省接口,多数开发环境自动使用这个接口定义的属性、方法。由于MapControl是一个自动化控件,当它被放到一个容器,如窗体上后,它会自动产生一个被称为axMapControl1的对象,这个对象可以直接使用缺省接口定义的属性和方法。这个接口也代表了控件最新版本的接口,MapControl当前最新版本接口为IMapControl3。

  当需要使用这个接口的时候,可以使用下面代码:

  IMapControlDefault pMapControl;

  pMapControl=axMapControl1.Object as IMapControlDefault;

  返回潜在的MapControl控件

  IMapControl2接口

  这个接口时任何一个与MapControl相关的任务的出发点,如设置控件外观,设置Map对象或控件的显示属性,添加或者管理数据图层、地图文档,在控件上绘制图形和返回Geometry等。

  IMapControl2定义了控制控件外观界面的各种属性和方法,如Appearance,BorderStyle和BackColor。它定义的方法有TrackLine、TrackPolygon、TrackRectangle和TrackCircle方法让程序员可以直接在控件上获得Geometry对象,它还提供了Drawshape和DrawText方法让用户直接在控件上绘制图形。

  IMapControl3接口

  该接口继承IMapControl2,并增加了以下8个属性和一个方法:

  • CustomProperty:设置自定义控件属性
  • DocumentFilename:返回MapControl装入的地图文档的文件名
  • DocumentMap:返回MapControl最后装入的地图的名称
  • KeyIntercept:返回或设置MapControl截取键盘按键信息,详情见表3-1
  • Object:返回潜在的MapControl控件,

 

posted @ 2015-10-29 10:12  JaneAi  阅读(2164)  评论(0编辑  收藏  举报