学习目标:
ArcGIS Engine开发(1)
学习内容:
制图控件、3D控件、框架控件
学习时间:
2022年6月4日
/*****************************************************************************************************************************************************/
控件相关概念
控件:是对数据和方法的封装,属性是控件数据的访问者,方法是控件可见的功能
类:现实世界某些对象所具有共同特征的表示(属性和操作)
对象:是类的实例,是具有某系特征的具体事物的抽象
对象特点:属性、方法和事件
属性:对象的性质;方法:对象的动作;事件:对象的响应
举例:工具箱中的控件可以看作是类、Windows窗体上构建的按钮等为类的实例化对象
MapControl控件:封装了Map对象,提供属性、方法和事件,
功能1:管理控件的外观、显示属性和地图属性;功能2:管理添加数据图层;功能3:装载地图文档;功能4:显示、绘制和跟踪图层;
追踪方法:TrackRectangle、TrackPolygon、TrackLine和TrackCircle,主要用于追踪轨迹要素
VisibleRegion属性:更改显示区域的内的几何图形
MapControl控件接口:IMapControlDefault(默认接口,拖拽到容器上会自动建立axMapControl1对象);IMapControl2(属性和方法:控件外观、Map对象或控件的显示属性,添加管理数据图层、地图文档,控件绘制和返回几何);IMapControl3(IMapContorl2的基础上增加了8个属性与1个方法);IMapControlEvents2(定义了MapControl能够处理的所有事件,OnBeforeScreenDraw;OnDoubleClick等);
MapControl是非常重要的一个控件,主要显示地图
页面布局控件:用于页面布局与制图,封装的PageLayout类提供了在视图中控制元素的属性和方法及对应的事件、属性和方法;
Printer属性:处理地图打印的设置;Page属性:处理控件的页面效果;Element属性:管理控件中的地图元素
控件接口:IPageLayoutControlDefault接口、IPageLayoutControl、IPageLayoutControl2、IPageLayoutControlEvents接口
图层树控件:TOCControl管理图层的可见性与标签的编辑,需要伙伴控件或IActiveView接口对象,可以是MapControl、PageLayoutControl、RasterControl、ScenceControl或GlobeControl;伙伴控件可以TOCControl属性页设置,驻留容器时SetBuuddyControl设置;每个伙伴均实现了ITOCBuddy接口;TOCControl用伙伴控件显示地图、图层、符号。
图层树控件接口:ITOCControl是任何与TOCControl有关任务的出发点;ITOCControlEvents定义了该控件能够处理全部事件如OnMouseDown、OnMouseMove、OnMouseMove在应用程序中较为常用。比如OnBeginLabelEdit、OnEndLabelEdit分别为TOCControl中的标签开始编辑、结束编辑时触发。
工具栏控件:ToolbarControl,6个对象及接口,ToolbarControl、ToolbarItem、ToolbarMenu、ToolbarPool、CustomizeDialog、MissingCommand。ToobarControl同样需要伙伴控件。