我们可以在工具的OnCreate()方法里将ArrayList类型的对象传进来,ArrayList里存放的是mapcontrol.object,scenecontrol.object,这样在自定义工具里就可以对2个窗口同时进行操作了;如下面的代码
public override void OnCreate(object hook)
{
try
{
m_hookHelper = new HookHelperClass();
m_SceneHookHelper = new SceneHookHelperClass();
//m_hookHelper.Hook = hook;
ArrayList arrControls = hook as ArrayList;
m_hookHelper.Hook = arrControls[0] as object;
m_SceneHookHelper.Hook = arrControls[1] as object;
if (m_hookHelper.ActiveView == null)
{
m_hookHelper = null;
}
}
catch
{
m_hookHelper = null;
}
if (m_hookHelper == null)
base.m_enabled = false;
else
base.m_enabled = true;
// TODO: Add other initialization code
}
调用Tool的代码
ArrayList arrControls = new ArrayList();
arrControls.Add(m_mapControl.Object);
arrControls.Add(m_sceneControl.Object);
ICommand pCmd = new MyCustomTool();
pCmd.OnCreate(arrControls as object);
m_mapControl.CurrentTool = pCmd as ITool;
=================================================================
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。