VS2010--AE10.2------------单一符号化

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Geometry;
using 单一符号化.Class;
//using 专题地图.Class.EnumType;
//using 专题地图.Symbol;


using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Output;
using stdole;
using ESRI.ArcGIS.DataSourcesGDB;
using ESRI.ArcGIS.CatalogUI;
using 单一符号化.Symbol;




namespace 单一符号化
{
    public partial class Form1 : Form
    {
         private frmSimpleRender frmSimRender = null;
        private OperateMap m_OperateMap = null;
        
        public Form1()
        {
            ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop);
            InitializeComponent();
            m_OperateMap = new OperateMap();
        }


        private void Openfile_Click(object sender, EventArgs e)
        {
            ICommand Cmd = new ControlsOpenDocCommandClass();
            Cmd.OnCreate(mainMapControl.Object);
            Cmd.OnClick();
        }


        private void SingleSymbol_Click(object sender, EventArgs e)
        {
            try
            {
                if (frmSimRender == null || frmSimRender.IsDisposed)
                {
                    frmSimRender = new frmSimpleRender();
                    frmSimRender.SimpleRender += new frmSimpleRender.SimpleRenderEventHandler(frmSimRender_SimpleRender);
                }
                frmSimRender.PMap = mainMapControl.Map;
                frmSimRender.InitUI();
                frmSimRender.ShowDialog();
            }
            catch (Exception ex)
            {


            }
        }
      private  void frmSimRender_SimpleRender(string sFeatClsName, IRgbColor pRgbColr)
        {
            IFeatureLayer pFeatLyr = m_OperateMap.GetFeatLyrByName(mainMapControl.Map, sFeatClsName);
            SimpleRenderer(pFeatLyr, pRgbColr);
        }
      private void SimpleRenderer(IFeatureLayer pFeatLyr, IRgbColor pRgbColor)
      {
          try
          {
              esriGeometryType types = pFeatLyr.FeatureClass.ShapeType;
              ISimpleRenderer pSimRender = new SimpleRendererClass();
              if (types == esriGeometryType.esriGeometryPolygon)
              {
                  ISimpleFillSymbol pSimFillSym = new SimpleFillSymbolClass();
                  pSimFillSym.Color = pRgbColor;
                  pSimRender.Symbol = pSimFillSym as ISymbol; // 设置渲染的样式 
              }
              else if (types == esriGeometryType.esriGeometryPoint)
              {
                  ISimpleMarkerSymbol pSimpleMarkerSymbol = new SimpleMarkerSymbolClass();
                  pSimpleMarkerSymbol.Color = pRgbColor;
                  pSimRender.Symbol = pSimpleMarkerSymbol as ISymbol;
              }
              else if (types == esriGeometryType.esriGeometryPolyline)
              {
                  ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbolClass();
                  pSimpleLineSymbol.Color = pRgbColor;
                  pSimRender.Symbol = pSimpleLineSymbol as ISymbol;
              }
              IGeoFeatureLayer pGeoFeatLyr = pFeatLyr as IGeoFeatureLayer;
              pGeoFeatLyr.Renderer = pSimRender as IFeatureRenderer;
              (mainMapControl.Map as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
              mainTOCControl.Update();
          }
          catch (Exception ex)
          {


          }
      }
    }
}

猜你喜欢

转载自blog.csdn.net/sinat_25006091/article/details/79839015
今日推荐