//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); }
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); }
public ControlsSynchronizer(ESRI.ArcGIS.Controls.IMapControlDefault mapControl, ESRI.ArcGIS.Controls.IPageLayoutControlDefault pageLayoutControl) : this() { m_mapControl = mapControl; m_pageLayoutControl = pageLayoutControl; }