阅读:2728回复:1
开发一个BaseTool ,如何获取当前IEngineEditor
<P>在Engine9.3 开发一个 编辑用的Sktech Tool 时,需要获取IEngineEDitor ,在ArcMap 环境中可以用以下方法获取:</P>
<P> UID editorUID = new UIDClass();<BR> editorUID.Value = "esriEditor.Editor";<BR> m_editor = app.FindExtensionByCLSID(editorUID) as IEditor;</P> <P>可是在Engine 环境下,hook 传递的是mapcontrol ,没有Application ,又如何可以获取</P> <P>IEngineEditor ? 有哪位知道?</P> |
|
1楼#
发布于:2008-10-12 15:17
<P>通过查阅帮助文档,发现EngineEditor 是一个Singleton 对象,就是说在一个进程中只有一个实例。一旦实例生成,以后在此Application中无论何时何地 new 的实例皆返回 已生成的唯一的实例。所以要获取EngineEditor 只要new 一个就可以了。在Engine 中也可以定制sketch 了!</P><img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
|
|