Exemple #1
0
        //private Dictionary<string, NBGIS.PluginEngine.IDockableWindowDef> m_DockableWindowCol = null;

        public MainGIS()
        {
            InitializeComponent();

            //为TOC设置伙伴控件,与MapControl关联
            this.axTOCControl.SetBuddyControl(this.axMapControl.Object);

            //从控件中得到相应接口的对象
            m_MapControl        = axMapControl.Object as ESRI.ArcGIS.Controls.IMapControlDefault;
            m_PageLayoutControl = axPageLayoutControl.Object as ESRI.ArcGIS.Controls.IPageLayoutControlDefault;
            m_TOCControl        = axTOCControl.Object as ESRI.ArcGIS.Controls.ITOCControlDefault;
            //初始化数据集对象
            m_DataSet = new DataSet();



            //初始化主框架对象
            m_Application                   = new NBGIS.PluginEngine.Application();
            m_Application.StatusBar         = this.StatusBar;
            m_Application.MapControl        = m_MapControl;
            m_Application.PageLayoutControl = m_PageLayoutControl;
            m_Application.MainPlatform      = this;
            m_Application.Caption           = this.Text;
            m_Application.Visible           = this.Visible;
            m_Application.CurrentTool       = null;
            m_Application.MainDataSet       = this.m_DataSet;
            m_Application.Map               = m_MapControl.Map;

            //让MapControl与PageLayoutControl保持同步
            m_ControlsSynchronizer = new ControlsSynchronizer(m_MapControl, m_PageLayoutControl);
            m_ControlsSynchronizer.BindControls(true);

            m_ControlsSynchronizer.AddFrameworkControl(axTOCControl.Object);
        }
Exemple #2
0
        public void BindControls(ESRI.ArcGIS.Controls.IMapControlDefault mapControl, ESRI.ArcGIS.Controls.IPageLayoutControlDefault pageLayoutControl, bool activeMapFirst)
        {
            if (mapControl == null || pageLayoutControl == null)
            {
                throw new Exception("ControlsSynchronizer::BindControls:/r/nMapControl or PageLayoutControl is not initialized.");
            }

            m_mapControl        = MapControl;
            m_pageLayoutControl = pageLayoutControl;

            this.BindControls(activeMapFirst);
        }
Exemple #3
0
 public ControlsSynchronizer(ESRI.ArcGIS.Controls.IMapControlDefault mapControl, ESRI.ArcGIS.Controls.IPageLayoutControlDefault pageLayoutControl)
     : this()
 {
     m_mapControl        = mapControl;
     m_pageLayoutControl = pageLayoutControl;
 }