制图控件,
如MapControl、PageLayoutControl,其中MapControl控件主要用于地理数据的显示和分析,PageLayoutControl用于生成一幅成品地图。MapControl封装了Map对象,而PageLayoutControl则封装了PageLayout对象。这两个控件都实现了IMxContents接口,因此不仅可以读取ArcMap创建的地图文档,而且可以将自身的地图内容写到一个新的地图文档中。
三维控件,
如GlobeControl、SceneControl都具有导航功能,允许终端用户操作三维视图,而不必使用控件命令或自定义命令。通过设置Navigate属性,用户就可以操作三维视图,如前后左右移动、放大缩小等。
框架控件,
如TOCControl、ToolbarControl,需要与其他的控件协作使用。例如在TOCControl控件属性页中设置与MapControl关联,单在MapControl中删除一个图层时,该图层也从TOCControl中删除。
1、制图控件介绍
MapControl控件封装了Map对象,并提供了其他的属性、方法和事件,用于管理控件的外观、显示属性和地图属性,管理、添加数据图层,装载地图文档,显示、绘制跟踪图层。MapControl上存在着诸如TrackRectangle、TrackPolygon、TrackLine和TrackCircle等帮助方法,用于追踪或“橡皮圈住(rubber banding)”显示上的几何图形(Shape)。VisibleRegion属性可用于更改MapControl显示区内的几何图形。MapControl控件实现的主要接口有IMapControlDefault、IMapControl2、IMapControl3、IMapControlEvents2等,如图2-1所示。
1.1 IMapControlDefault接口
IMapControlDefault接口是地图控件缺省接口。当将MapControl控件拖放到容器上时,会自动创建一个axMapControl1的对象,该对象全部继承父类接口的属性和方法。下面的代码演示了如何使用这个接口。
IMapControlDefault mapControlDefault;
MapControl mapControl;
mapControl = axMapControl1.object as IMapControlDefault;
1.2 IMapControl2接口
IMapControl2接口提供了