Beispiel #1
0
        private void TOCLayer_OnDoubleClick(object sender, ITOCControlEvents_OnDoubleClickEvent e)
        {
            if (e.button != 1)
            {
                return;
            }
            esriTOCControlItem itemType  = esriTOCControlItem.esriTOCControlItemNone;
            IBasicMap          pBasicMap = null;
            ILayer             pLayer    = null;
            object             unk       = null;
            object             data      = null;

            TOCLayer.HitTest(e.x, e.y, ref itemType, ref pBasicMap, ref pLayer, ref unk, ref data);

            if (e.button == 1)
            {
                if (itemType == esriTOCControlItem.esriTOCControlItemLegendClass)
                {
                    ILegendClass pLegendClass = ((ILegendGroup)unk).get_Class((int)data);

                    FrmSymbolSelect SymbolSelectorFrm = new FrmSymbolSelect(pLegendClass, pLayer);

                    if (SymbolSelectorFrm.ShowDialog() == DialogResult.OK)
                    {
                        m_MapMain.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
                        pLegendClass.Symbol = SymbolSelectorFrm.pSymbol;
                        m_MapMain.ActiveView.Refresh();
                        TOCLayer.Refresh();
                    }
                }
            }
        }
Beispiel #2
0
        private void TOCLayer_OnMouseDown(object sender, ITOCControlEvents_OnMouseDownEvent e)
        {
            if (TOCLayer != null)
            {
                esriTOCControlItem pItem     = esriTOCControlItem.esriTOCControlItemNone;
                IBasicMap          pBasicMap = null;
                //ILayer pLayer = null;
                object pOther = null;
                object pIndex = null;

                this.TOCLayer.MousePointer = esriControlsMousePointer.esriPointerArrow;

                TOCLayer.HitTest(e.x, e.y, ref pItem, ref pBasicMap, ref pLayer, ref pOther, ref pIndex);

                ////实现调整图层顺序功能
                //if ((e.button == 1))
                //{
                //    return;
                //}
                //else
                //{
                //    if (pItem == esriTOCControlItem.esriTOCControlItemNone)
                //    {
                //        return;
                //    }
                //    //确定所选中的信息
                //    this.TOCLayer.GetSelectedItem(ref pItem, ref pBasicMap, ref pLayer, ref pOther, ref pIndex);
                //    //弹出相应的快捷菜单 根节点 子节点
                //    if ((pItem == esriTOCControlItem.esriTOCControlItemMap))
                //    {
                //        m_pMapMenu.PopupMenu(e.x, e.y, TOCLayer.hWnd);

                //    }
                //    else if ((pItem == esriTOCControlItem.esriTOCControlItemLayer))
                //    {
                //        if (pLayer is IGroupLayer)
                //        {
                //            return;
                //        }
                //        if (pLayer is ICompositeLayer)
                //        {
                //            return;
                //        }

                //        //m_Symbol.Layer = pLayer;
                //        //移除图层
                //        //m_RemoveLayer.Layer = pLayer;
                //        //m_RemoveLayer.Enabled2 = true;
                //        //m_LayerAttribute.Enabled2 = true;
                //        //一些图层是业务功能图层,不能删除
                //        //if (pLayer.Name.Contains(g_DY) | pLayer.Name.Contains(g_BDZ) | pLayer.Name.Contains(g_GT) | pLayer.Name.Contains(g_XL))
                //        //{
                //        //    m_RemoveLayer.Enabled2 = false;
                //        //}

                //        //m_LayerAttribute.Layer = pLayer;
                //        ////查看属性表

                //        //InitDataEditEnvironment(pLayer);
                //        ////基础下图层属性表不看查看

                //        //m_LayerAttribute.FrmMap = m_FrmMap;
                //        //m_LayerSelectable1.Layer = pLayer;
                //        //m_LayerSelectable2.Layer = pLayer;
                //        //m_ZoomToLayer.Layer = pLayer;
                //        ////缩放至图层
                //        //m_SetLabel.Layer = pLayer;
                //        ////设置标注
                //        //m_ShowLabelFeature.Layer = pLayer;
                //        ////显示标注
                //        //m_LayerExtent.Layer = pLayer;
                //        ////显示图层属性

                //        ////区域定位图层不操作
                //        //if (pLayer.Name == g_ZoneLocation)
                //        //{
                //        //    m_RemoveLayer.Enabled2 = false;
                //        //    m_SetLabel.Enabled2 = false;
                //        //    m_ShowLabelFeature.Enabled2 = false;
                //        //}
                //        m_pLayerMenu.PopupMenu(e.x, e.y, TOCLayer.hWnd);
                //    }
                //}
            }
        }