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;

            }
        }

  • 相关阅读:
    单片机开发 郭天祥
    OpenNI检测不到Kinect Camera和Kinect Audio了
    python中的类的成员变量以及property函数
    python lambda
    python中的括号以及元组和列表的区别
    python的self
    python exception的传递
    python的闭包
    函数里面定义函数
    在yum出问题的情况下安装某个rpm包的方法
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/1265450.html
Copyright © 2011-2022 走看看