zoukankan      html  css  js  c++  java
  • arcEngine经典代码添加气泡提示框(标注,文本,)

        private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
            {
           
                if (i >= 3)//测试目的
                    return;
                i++;

                ITextElement te = createTextElement(e.mapX,e.mapY,"魁x");
                axMapControl1.ActiveView.GraphicsContainer.AddElement(te as IElement, 1);
                axMapControl1.Refresh(esriViewDrawPhase.esriViewGraphics, null, null);

        
            }
            int i;

            public IBalloonCallout createBalloonCallout(double x, double y)
            {
                IRgbColor rgb = new RgbColorClass();
                {
                    rgb.Red = 255;
                    rgb.Green = 255;
                    rgb.Blue = 200;

                }
                ISimpleFillSymbol sfs = new SimpleFillSymbolClass();
                {
                    sfs.Color = rgb;
                    sfs.Style = esriSimpleFillStyle.esriSFSSolid;
                }

                IPoint p = new PointClass();
                {
                    p.PutCoords(x, y);
                }

                IBalloonCallout bc = new BalloonCalloutClass();
                {
                    bc.Style = esriBalloonCalloutStyle.esriBCSRoundedRectangle;
                    //
                    bc.Symbol = sfs;
                    //
                    bc.LeaderTolerance = 10;
                    //1

                    bc.AnchorPoint = p;
                }

                return bc;
            }

            public ITextElement createTextElement(double x, double y, string text)
            {
                IBalloonCallout bc = createBalloonCallout(x, y);
               
                IRgbColor rgb = new RgbColorClass();
                {
                    //rgb.Red = 255;
                    rgb.Green = 255;
                }
                ITextSymbol ts = new TextSymbolClass();
                {
                    ts.Color = rgb;
                }

                IFormattedTextSymbol fts = ts as IFormattedTextSymbol;
                {
                    fts.Background = bc as ITextBackground;
                }
                //fts.Size = 8;
                ts.Size = 8;

                IPoint point = new PointClass();
                {
                    double width = axMapControl1.Extent.Width / 13;
                    double height = axMapControl1.Extent.Height / 20;
                    point.PutCoords(x + width, y + height);
                }

                ITextElement te = new TextElementClass();
                //IMarkerElement me = new MarkerElementClass();
                {
                    te.Symbol = ts;
                    //ts.Text = text;
                    te.Text = text;
                }

                IElement e = te as IElement;
                {
                    e.Geometry = point;
                }
                return te;

            }
        }

  • 相关阅读:
    详解 final 和 static
    详解 方法的覆盖 —— toString() 与 equals()的覆盖
    详解 继承(上)—— 工具的抽象与分层
    详解 继承(下)—— super关键字 与 多态
    Java 基础讲解
    矩阵 的实现
    C语言 贪吃蛇
    巨大数——三则运算(+、-、*)
    浅谈 循环数组
    人体对电流的反应
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/1265450.html
Copyright © 2011-2022 走看看