• 增加图例 Legend和删除图例


    private void button1_Click(object sender, System.EventArgs e)
    {
    //Get the GraphicsContainer
    IGraphicsContainer graphicsContainer = axPageLayoutControl1.GraphicsContainer;

    //Get the MapFrame
    IMapFrame mapFrame = (IMapFrame) graphicsContainer.FindFrame(axPageLayoutControl1.ActiveView.FocusMap);
    if (mapFrame == null) return;

    //Create a legend
    UID uID = new UIDClass();
    uID.Value = "esriCarto.Legend";

    //Create a MapSurroundFrame from the MapFrame
    IMapSurroundFrame mapSurroundFrame = mapFrame.CreateSurroundFrame(uID, null);
    if (mapSurroundFrame == null) return;
    if (mapSurroundFrame.MapSurround == null) return;
    //Set the name
    mapSurroundFrame.MapSurround.Name = "Legend";

    //Envelope for the legend
    IEnvelope envelope = new EnvelopeClass();
    envelope.PutCoords(1, 1, 3.4, 2.4);

    //Set the geometry of the MapSurroundFrame
    IElement element = (IElement) mapSurroundFrame;
    element.Geometry = envelope;

    //Add the legend to the PageLayout
    axPageLayoutControl1.AddElement(element, Type.Missing, Type.Missing, "Legend", 0);

    //Refresh the PageLayoutControl
    axPageLayoutControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

    //disable/enable buttons
    cmdDraw.Enabled = false;
    cmdDelete.Enabled = true;
    cmdChangeArea.Enabled = true;
    cmdChangeLine.Enabled = true;
    }

    private void button2_Click(object sender, System.EventArgs e)
    {
    //Find the legend
    IElement element = axPageLayoutControl1.FindElementByName("Legend", 1);

    if(element != null)
    {
    //Delete the legend
    IGraphicsContainer graphicsContainer = axPageLayoutControl1.GraphicsContainer;
    graphicsContainer.DeleteElement(element);
    //Refresh the display
    axPageLayoutControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);

    //enable/disable buttons
    cmdDraw.Enabled = true;
    cmdDelete.Enabled = false;
    cmdChangeArea.Enabled = false;
    cmdChangeLine.Enabled = false;
    }
    }

  • 相关阅读:
    利用webpack构建vue项目
    关于写毕业设计网页代码写后感
    用canvas属性写一个五角星哦
    css3瀑布流布局
    css3学习笔记,随时帮你记起遗忘的css3
    自己做得一个用于直观观察css3 transform属性中的rotate 3D效果
    第一次讨论——关于块级元素与行内元素的区别,浮动与清除浮动,定位,兼容性问题
    软件工程第一次作业
    自我介绍
    自我介绍
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4827867.html
Copyright © 2020-2023  润新知