如何在ArcObjects中创建IDynamicDisplay obj?

时间:2010-08-27 17:43:56

标签: arcobjects

我正在尝试在地图上绘制文字字形,所有教程都说我需要一个动态显示,但我不知道如何获得一个。提前致谢。 ; ) 编辑:C#VS2010

2 个答案:

答案 0 :(得分:1)

首先,您需要将Map对象的IDynamicMap :: DynamicMapEnabled属性设置为true。

IDynamicMap pDynamicMap = pMap as IDynamicMap;
pDynamicMap.DynamicMapEnabled = true

然后,有两种方法可以获取DynamicDisplay对象。一个是使用实现IDynamicLayer接口创建自定义层。第二个是挂钩IDynamicMapEvents :: BeforeDynamicDraw事件或IDynamicMapEvents :: AfterDynamicDraw事件。我希望这个最佳实践可以帮助你。

Best practices for using dynamic display

答案 1 :(得分:0)

您必须连接事件处理程序

ESRI.ArcGIS.Carto.IDynamicMapEvents_Event dynamicMapEvents = dynamicMap as ESRI.ArcGIS.Carto.IDynamicMapEvents_Event;
ESRI.ArcGIS.Carto.IActiveViewEvents_Event avEvents = activeView as ESRI.ArcGIS.Carto.IActiveViewEvents_Event;
avEvents.AfterDraw += new ESRI.ArcGIS.Carto.IActiveViewEvents_AfterDrawEventHandler(avEvents_AfterDraw);
dynamicMapEvents.AfterDynamicDraw += new IDynamicMapEvents_AfterDynamicDrawEventHandler(dynamicMapEvents_AfterDynamicDraw);