MapControl&&PageLayoutControl

来源:互联网 发布:qq显示mac在线怎么弄 编辑:程序博客网 时间:2024/05/08 06:16
可能是有感于独立AO应用程序开发群的迅速扩大,ESRI在其最新的ArcGIS8.2版本中不但继续提供对MapControl控件的开发支持,而且新增了一个PageLayoutControl控件,这对于有制图应用的开发者来说无疑带来了福音。许多时候可能会对组件和控件有些糊涂,其实Active X并不能代表整个COM,它只是COM对象的封装技术,由于COM对象使用的复杂性,因此才会创建框架(如Active X控件)来简化它。所以这两个控件也可称为AO高级通用组件,它由AO基础组件构造而成,面向通用功能,简化了用户开发过程,组件之间的协同控制消息都被封装起来。这级组件经过封装后,使二次开发更为简单。如一个简单的AO应用系统,若用基础AO组件对象开发,需要编写不少的代码,而利用高级通用组件,只需几句代码就够了。
5.1 MapControl控件
MapControl控件提供了类似ArcMap中的数据视图(Data View)的窗口,通过它你可完成以下甚至更多功能:
Ÿ 显示图层地图。
Ÿ 放大,缩小,漫游。
Ÿ 生成图形元素,如点,线,圆,多边形。
Ÿ 说明注记
Ÿ 识别地图上被选中的元素,进行空间或属性查询。
Ÿ 标注地图元素。
总之在ArcMap中能能够完成的大部分任务,通过MapControl控件也可以完成。通过设置MapControl General, Layers, Map 属性,你甚至不需要写一行代码可以获得一些GIS功能。关于MapControl控件有许多完整的应用示例,存放在//ArcObjects Developer Kit/Samples/Controls目录下。
5.2 PageLayout控件
PageLayout控件提供了类似ArcMap中的版面视图的窗口,它有以下的属性、方法和事件:
· 管理控件的外观设置
· 管理控件的显示属性
· 管理页面属性
· 在控件中增加和查找元素
· 加载地图文档到控件
· 可以直接从资源管理器和ArcCatalog中拖放数据到控件中
· 打印页面设计.
至于它的功能嘛,ArcMap的Layout 视图能完成的工作,使用PageLayoutControl同样可以完成,象增加和设置图例、打印输出等许多功能。关于PageLayout控件有许多完整的应用示例,也存放在//ArcObjects Developer Kit/Samples/Controls目录下。
5.3 MapControl和MapObject的关系
确切地讲,MapControl和MapObject控件没有直接的联系。首先,MapControl控件是AO的一部分,至少到目前为止它还不是一个独立的产品,而MapObject是ESRI的一个独立的低端应用产品。第二,MapControl比MapObject功能要强大许多和完善许多,MapObject产品的定位就是提供一些基本的地图功能,高级的功能这得完全靠开发者自己去实现,而依托强大的AO组件库MapControl可以实现许多高级的GIS分析及应用。
原创粉丝点击