分享

二三维窗口怎样实现联动

 IPQ 2008-11-22
我们可以在工具的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;

=================================================================

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多