1、文档对象接口:AE中是IMapDocument,AO中是IMxDocument
2、Map对象实现了三个主要接口:IMap、IGraphicsContainer、IActiveView
其中IMap和IGraphicsContainer接口主要体现和管理Map的数据存储和管理功能,IMap主
要针对地理数据,IGraphicsContainer主要针对图形元素(基本图形元素和框架元素),
IActiveView主要体现和管理Map的数据显示功能;
3、ArcMap和ArcEngine开发当中都要理解两个重要的对象Map(Map Class)和PageLayout
(PageLayout Class),这两个类都实现IActiveView接口,因而都具有数据显示的功能;同
时Map还继承自IMap,因而它具有管理数据的功能,Map还继承自IGraphicsContainer,因而
它具有管理(图形)元素的功能;PageLayout还继承自IGraphicsContainer,因而它也具有
管理(图形)要素的功能,这里的图形要素包括矩形、指北针、比例尺等等;
重点理解:因为两种视图都具有显示数据的功能,因而它们都有一个内置的Map对象,通过
IActiveView接口可以获取两种视图下得Map对象;每一个视图对象都有一个ScreenDisplay对
象用于控制视图的图形绘制工作,
4、关于GUID:每个COM接口和组件类都对应一个全球唯一标识符(GUID:global unique
identifier),接口的GUID被称作接口ID(IID),组件类(coclass)的GUID被称作类ID
(CLSID),progID是CLSID的字符串别名,它由工程名和组件类的类名组成,如
MarkerNorthArrow的progID为"esriCarto.MarkerNorthArrow";
// 具体使用过程中通过UIDClass来代表,如下
ESRI.ArcGIS.esriSystem.IUID arrowUID = new
ESRI.ArcGIS.esriSystem.UIDClass();
arrowUID.Value = "esriCarto.MarkerNorthArrow";