Beispiel #1
0
        /// <summary>
        /// Form load event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmMain_Load(object sender, EventArgs e)
        {
            try
            {
                //reference existing map ctrl and toc ctrl
                getSetTocControl = (ITOCControl2)axTOCControl1.Object;
                getSetMapControl = (IMapControl3)axMapControl1.Object;

                //Set buddy control
                getSetTocControl.SetBuddyControl(m_mapControl);
                axToolbarControl1.SetBuddyControl(m_mapControl);

                //Add pre-defined control commands to the ToolbarControl
                axToolbarControl1.AddItem("esriControls.ControlsSelectFeaturesTool", -1, 0, false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddToolbarDef("esriControls.ControlsMapNavigationToolbar", 0, false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsOpenDocCommand", -1, 0, false, 0, esriCommandStyles.esriCommandStyleIconOnly);

                //Add custom commands to the map menu
                getSetMenuMap = new ToolbarMenuClass();
                getSetMenuMap.AddItem(new LayerVisibility(), 1, 0, false, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuMap.AddItem(new LayerVisibility(), 2, 1, false, esriCommandStyles.esriCommandStyleTextOnly);
                //Add pre-defined menu to the map menu as a sub menu
                getSetMenuMap.AddSubMenu("esriControls.ControlsFeatureSelectionMenu", 2, true);
                //Add custom commands to the map menu
                getSetMenuLayer = new ToolbarMenuClass();
                getSetMenuLayer.AddItem(new RemoveLayer(), -1, 0, false, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new ScaleThresholds(), 1, 1, true, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new ScaleThresholds(), 2, 2, false, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new ScaleThresholds(), 3, 3, false, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new LayerSelectable(), 1, 4, true, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new LayerSelectable(), 2, 5, false, esriCommandStyles.esriCommandStyleTextOnly);
                getSetMenuLayer.AddItem(new ZoomToLayer(), -1, 6, true, esriCommandStyles.esriCommandStyleTextOnly);

                //Add Open attribute table command
                getSetMenuLayer.AddItem(new OpenAttributeTable(getSetTocControl), -1, 7, true, esriCommandStyles.esriCommandStyleTextOnly);

                //Set the hook of each menu
                getSetMenuLayer.SetHook(getSetMapControl);
                getSetMenuMap.SetHook(getSetMapControl);
            }
            catch (COMException COMex)
            {
                MessageBox.Show("Error " + COMex.ErrorCode.ToString() + ": " + COMex.Message);

            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message);
            }
        }
Beispiel #2
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            // 设置标签编辑模式为手动
            axTOCControl1.LabelEdit = ESRI.ArcGIS.Controls.esriTOCControlEdit.esriTOCControlManual;

            if (System.IO.File.Exists(PersistedItems) && LoadPersistedItems)
            {
                LoadToolbarControlItems(PersistedItems);
            }
            else
            {
                // 添加常规命令
                axToolbarControl1.AddItem("esriControls.ControlsOpenDocCommand", -1, -1,
                                          false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsAddDataCommand", -1, -1,
                                          false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsSelectTool", -1, -1,
                                          true, 0, esriCommandStyles.esriCommandStyleIconOnly);
                // 添加Map视图导航命令
                axToolbarControl1.AddItem("esriControls.ControlsMapZoomInTool", -1, -1, true,
                                          0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapZoomOutTool", -1, -1,
                                          false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapPanTool", -1, -1, false,
                                          0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapFullExtentCommand", -1, -
                                          1, false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapZoomToLastExtentBackCommand",
                                          -1, -1, false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem(
                    "esriControls.ControlsMapZoomToLastExtentForwardCommand", -1, -1, false,
                    0, esriCommandStyles.esriCommandStyleIconOnly);
                // 添加Map视图查询命令
                axToolbarControl1.AddItem("esriControls.ControlsMapIdentifyTool", -1, -1,
                                          true, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapFindCommand", -1, -1,
                                          false, 0, esriCommandStyles.esriCommandStyleIconOnly);
                axToolbarControl1.AddItem("esriControls.ControlsMapMeasureTool", -1, -1,
                                          false, 0, esriCommandStyles.esriCommandStyleIconOnly);
            }

            // 设置工具栏自定义对话框
            CreateCustomizeDialog();

            // 创建快捷菜单
            mMapMenu = new ToolbarMenuClass();
            mMapMenu.AddItem(new LayerVisibility(), 1, 0, false, esriCommandStyles.esriCommandStyleTextOnly);
            mMapMenu.AddItem(new LayerVisibility(), 2, 1, false, esriCommandStyles.esriCommandStyleTextOnly);
            mMapMenu.AddSubMenu("esriControls.ControlsFeatureSelectionMenu", 2, true);
            mMapMenu.SetHook(axMapControl1);
            mLayerMenu = new ToolbarMenuClass();
            mLayerMenu.AddItem(new RemoveLayer(), -1, 0, false, esriCommandStyles.esriCommandStyleTextOnly);
            //mLayerMenu.AddItem(new ScaleThresholds(), 1, 1, true, esriCommandStyles.esriCommandStyleTextOnly);
            //mLayerMenu.AddItem(new ScaleThresholds(), 2, 2, false, esriCommandStyles.esriCommandStyleTextOnly);
            //mLayerMenu.AddItem(new ScaleThresholds(), 3, 3, false, esriCommandStyles.esriCommandStyleTextOnly);
            //mLayerMenu.AddItem(new LayerSelectable(), 1, 4, true, esriCommandStyles.esriCommandStyleTextOnly);
            //mLayerMenu.AddItem(new LayerSelectable(), 2, 5, false, esriCommandStyles.esriCommandStyleTextOnly);
            mLayerMenu.AddItem(new ZoomToLayer(), -1, 1, true, esriCommandStyles.esriCommandStyleTextOnly);
            mLayerMenu.AddItem(new OpenAttributeTable(), -1, 2, true, esriCommandStyles.esriCommandStyleTextOnly);
            mLayerMenu.SetHook(axMapControl1);

            // 设定协同控件
            axToolbarControl1.SetBuddyControl(axMapControl1);
            axTOCControl1.SetBuddyControl(axMapControl1);

            // 允许MapControl拦截方向键
            axMapControl1.KeyIntercept          = (int)esriKeyIntercept.esriKeyInterceptArrowKeys;
            axMapControl1.AutoKeyboardScrolling = true;
            axMapControl1.AutoMouseWheel        = true;

            // 允许图层拖放
            axTOCControl1.EnableLayerDragDrop = true;
        }