Example #1
0
        private void InitVariablesAndControls(double textAngle, IColor textColor, IFontDisp textFont, double textSize, string insertText)
        {
            //控件初始化
            txbxInsertText.Text = insertText;
            txbxInsertText.SelectAll();
            cmbxFont.DataSource    = System.Enum.GetNames(typeof(FontType));
            cmbxFont.SelectedIndex = cmbxFont.FindString(textFont.Name);
            cmbxSize.DataSource    = _sizeArr;
            cmbxSize.Text          = textSize.ToString();

            btnBold.FlatStyle          = (textFont.Bold)? FlatStyle.Popup:FlatStyle.Flat;
            btnItalic.FlatStyle        = (textFont.Italic) ? FlatStyle.Popup : FlatStyle.Flat;
            btnUnderLine.FlatStyle     = (textFont.Underline) ? FlatStyle.Popup : FlatStyle.Flat;
            btnStrikethrough.FlatStyle = (textFont.Strikethrough) ? FlatStyle.Popup : FlatStyle.Flat;

            btnColor.BackColor    = System.Drawing.Color.FromArgb((textColor as IRgbColor).Red, (textColor as IRgbColor).Green, (textColor as IRgbColor).Blue);
            nmrcUpDownAngle.Value = Convert.ToDecimal(textAngle);

            //变量初始化
            _textAngle  = textAngle;
            _textColor  = textColor;
            _textFont   = textFont;
            _textSize   = textSize;
            _insertText = insertText;
        }
Example #2
0
            private IFontDisp SetFontProperties(string fontName, int fontSize)
            {
                stdole.IFontDisp fnt = (stdole.IFontDisp) new stdole.StdFont();
                fnt.Name = fontName;
                fnt.Size = (decimal)fontSize;

                return(fnt);
            }
Example #3
0
            public tPad(string model, int signatureLineY, int whoY, int whyY,
                        int textFontSize, int buttonFontSize, int signLineSize, int buttonWith)
            {
                this.Model          = model;
                this.signatureLineY = signatureLineY;
                this.whoY           = whoY;
                this.whyY           = whyY;
                this.buttonWith     = buttonWith;

                this.TextFont    = SetFontProperties(padFont, textFontSize);
                this.ButtonFont  = SetFontProperties(padFont, buttonFontSize);
                this.SigLineFont = SetFontProperties(padFont, signLineSize);
            }
Example #4
0
        /// <summary>
        /// 创建字体 angType=0 弧度 angType=1 度
        /// </summary>
        /// <param name="sText"></param>
        /// <param name="Dirction"></param>
        /// <param name="dX"></param>
        /// <param name="dY"></param>
        /// <param name="angType"></param>
        /// <returns></returns>
        public static ITextElement make_Qs_Text(string sText, double dHeight, double dAngle, double dX, double dY, double deltaX, double deltaY)
        {
            string newText;

            newText = sText.Replace(@"\P", "\n");
            ITextElement pTextElement = new TextElementClass();

            pTextElement.ScaleText = true;
            pTextElement.Text      = newText;

            IFormattedTextSymbol myTextSym = new TextSymbolClass();

            stdole.IFontDisp myFont = (stdole.IFontDisp) new stdole.StdFontClass();
            myFont.Name    = "黑体";
            myFont.Size    = decimal.Parse(dHeight.ToString());
            myTextSym.Font = myFont;
            myTextSym.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft;

            myTextSym.Angle = dAngle;

            System.Text.RegularExpressions.Regex objNumberPattern = new System.Text.RegularExpressions.Regex(@"[^a-zA-Z0-9.-]");
            if (!(newText == "") && !objNumberPattern.IsMatch(newText[0].ToString()) && !objNumberPattern.IsMatch(newText[newText.Length - 1].ToString()))
            {
                myTextSym.CharacterWidth = 75;
            }

            //			double frameL;	//边框的长度
            //			if(newText.Length>1)
            //			{
            //				frameL=Math.Sqrt(deltaX*deltaX+deltaY*deltaY);
            //				//myTextSym.CharacterSpacing  =(frameL-double.Parse(myTextSym.CharacterWidth.ToString())*newText.Length)/(newText.Length-1);
            //				myTextSym.CharacterSpacing=0;
            //			}

            pTextElement.Symbol = myTextSym;

            IElement pElement;

            pElement = (IElement)pTextElement;

            IPoint pPoint = new PointClass();

            pPoint.PutCoords(dX, dY);
            pElement.Geometry = pPoint;

            return(pTextElement);
            //选用设置好的字体style
            //			IGroupSymbolElement pGroupSymbolElement;
            //			pGroupSymbolElement=(IGroupSymbolElement)pTextElement;
            //			pGroupSymbolElement.SymbolID=0;
        }
Example #5
0
        private void DrawColName()
        {
            IGraphicsContainer pGraContainer = m_pMapControl.Map as IGraphicsContainer;

            IPoint      pAnnoPnt = new PointClass();
            ITextSymbol sym      = new TextSymbolClass();

            stdole.IFontDisp myfont = (stdole.IFontDisp) new stdole.StdFontClass();
            myfont.Name = "华文细黑";
            sym.Font    = myfont;

            myfont.Bold = true;
            sym.Size    = SystemInfo.Instance.TextSize;

            Color  color  = ColorTranslator.FromHtml(SystemInfo.Instance.TextColor);
            IColor pColor = new RgbColorClass();

            pColor.RGB = color.B * 65536 + color.G * 256 + color.R;
            sym.Color  = pColor;

            //类别
            sym.Text = "类别";
            pAnnoPnt.PutCoords(dblStartX + nWidth, dblStartY + nHeight * m_IntersectPipes.Count);

            ITextElement pTextElement = new TextElementClass();

            pTextElement.ScaleText = true;
            pTextElement.Text      = sym.Text;
            pTextElement.Symbol    = sym;
            IElement pElement = (IElement)pTextElement;

            pElement.Geometry = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //起点点号
            sym.Text = "起点点号";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 2, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //终点点号
            sym.Text = "终点点号";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 3, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //材质
            sym.Text = "材质";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 4, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //埋设方式
            sym.Text = "埋设方式";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 5, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //管径
            sym.Text = "管径";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 6, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            //所在道路
            sym.Text = "所在道路";
            pAnnoPnt.PutCoords(dblStartX + nWidth * 7, dblStartY + nHeight * m_IntersectPipes.Count);//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

            pTextElement        = new TextElementClass();
            pTextElement.Text   = sym.Text;
            pTextElement.Symbol = sym;
            pElement            = (IElement)pTextElement;
            pElement.Geometry   = pAnnoPnt;

            pGraContainer.AddElement(pElement, 0);

            (m_pMapControl.Map as IActiveView).PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, m_pMapControl.Extent);
        }
Example #6
0
        private void DrawPipeInfo(IntersectPipe interPipe, int i)
        {
            try
            {
                IGraphicsContainer pGraContainer = m_pMapControl.Map as IGraphicsContainer;
                IPoint             pAnnoPnt      = new PointClass();
                ITextSymbol        sym           = new TextSymbolClass();
                stdole.IFontDisp   myfont        = (stdole.IFontDisp) new stdole.StdFontClass();
                myfont.Name = "华文细黑";
                sym.Font    = myfont;
                myfont.Bold = true;
                sym.Size    = 8 /*SystemInfo.Instance.TextSize*/;
                ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbolClass();
                IFeatureRenderer  FeatureRenderer   = new SimpleRendererClass();
                IGeoFeatureLayer  geolyr            = interPipe.FeaLayer as IGeoFeatureLayer;
                if (geolyr == null)
                {
                    return;
                }
                FeatureRenderer = geolyr.Renderer;
                //获取此图层的Symbol
                pSimpleLineSymbol = (ISimpleLineSymbol)FeatureRenderer.get_SymbolByFeature(interPipe.Feature);
                sym.Color         = pSimpleLineSymbol.Color;

                //类别
                sym.Text = interPipe.Classify;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                ITextElement pTextElement = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                IElement pElement = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);

                //起点点号
                sym.Text = interPipe.StartNo;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 2, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);
                //终点点号
                sym.Text = interPipe.EndNo;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 3, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);

                //材质
                sym.Text = interPipe.Material;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 4, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);
                //埋设方式
                sym.Text = interPipe.Coverstyle;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 5, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);

                //管径
                sym.Text = interPipe.Diameter;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 6, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3

                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);

                //所在道路
                sym.Text = interPipe.Road;
                if (sym.Text == null)
                {
                    return;
                }
                pAnnoPnt.PutCoords(dblStartX + nWidth * 7, dblStartY + nHeight * (m_IntersectPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
                pTextElement           = new TextElementClass();
                pTextElement.ScaleText = true;
                pTextElement.Text      = sym.Text;
                pTextElement.Symbol    = sym;
                pElement          = (IElement)pTextElement;
                pElement.Geometry = pAnnoPnt;
                pGraContainer.AddElement(pElement, 0);
            }
            catch (System.Exception ex)
            {
            }
        }
Example #7
0
        public static ITextElement make_Dxf_Text(string fName, string sText, double dAngle, double dH, double dX, double dY)
        {
            string newText;

            newText = sText.Replace(@"\P", "\n");
            ITextElement pTextElement = new TextElementClass();

            pTextElement.ScaleText = true;
            pTextElement.Text      = newText;

            IFormattedTextSymbol myTextSym = new TextSymbolClass();

            stdole.IFontDisp myFont = (stdole.IFontDisp) new stdole.StdFontClass();
            myFont.Name    = fName;
            myFont.Size    = decimal.Parse(dH.ToString());
            myTextSym.Font = myFont;
            myTextSym.HorizontalAlignment = esriTextHorizontalAlignment.esriTHALeft;

            myTextSym.Angle = dAngle;

            System.Text.RegularExpressions.Regex objNumberPattern = new System.Text.RegularExpressions.Regex(@"[^a-zA-Z0-9.-]");   //2008.2.2 TianK 添加  使数字和字母的宽度为75
            if (!(newText == "") && !objNumberPattern.IsMatch(newText[0].ToString()) && !objNumberPattern.IsMatch(newText[newText.Length - 1].ToString()))
            {
                myTextSym.CharacterWidth = 75;
            }

            pTextElement.Symbol = myTextSym;

            IElement pElement;

            pElement = (IElement)pTextElement;

            IPoint pPoint = new PointClass();

            pPoint.PutCoords(dX, dY);
            pElement.Geometry = pPoint;

            return(pTextElement);

            //			ts.Text =newText;
            //			ts.Font=myfont;
            ////			if(dAngle!=0)
            ////				ts.Angle=dAngle*(Math.PI/180);
            ////			ts.Size=dH;
            //			pTextElement.Symbol=ts;
            //			pTextElement.ScaleText=false;
            //
            //			IElement pElement;
            //			pElement=(IElement)pTextElement;
            //
            //			IPoint pPoint=new PointClass();
            //			pPoint.PutCoords(dX,dY);
            //			pElement.Geometry=pPoint;
            //
            //			IGroupSymbolElement pGroupSymbolElement;
            //			pGroupSymbolElement=(IGroupSymbolElement)pTextElement;
            //			pGroupSymbolElement.SymbolID=0;
            //			if(dAngle!=0)
            //			{
            //				ITransform2D pTransform2D;
            //				pTransform2D =(ITransform2D) pTextElement;
            //				pTransform2D.Rotate (pPoint,dAngle*(Math.PI/180));
            //			}
            //
            //			return pTextElement;
        }
Example #8
0
        private void FrmLabelDesign_Load(object sender, EventArgs e)
        {
            IGeoFeatureLayer geoFeatureLayer              = (IGeoFeatureLayer)pLayer;
            IAnnotateLayerPropertiesCollection  pAnnColl  = geoFeatureLayer.AnnotationProperties;
            IAnnotateLayerPropertiesCollection2 pAnnColl2 = (IAnnotateLayerPropertiesCollection2)pAnnColl;
            IAnnotateLayerProperties            pAnnProp  = pAnnColl2.get_Properties(0);
            ILabelEngineLayerProperties         pLable    = (ILabelEngineLayerProperties)pAnnProp;
            IBasicOverposterLayerProperties4    pBasic    = (IBasicOverposterLayerProperties4)pLable.BasicOverposterLayerProperties;

            //IPointPlacementPriorities pPlace = pBasic.PointPlacementPriorities;

            chklabel.Checked = pAnnProp.DisplayAnnotation;
            ITable  pTable  = (ITable)pLayer;
            IFields pFields = pTable.Fields;

            for (int i = 0; i < pFields.FieldCount; i++)
            {
                if (pFields.Field[i].Name != "Shape")
                {
                    cmbfields.Items.Add(pFields.Field[i].Name);
                }
            }
            //if (chklabel.Checked)
            //{
            //    cmbfields.Text = pLable.Expression;
            //}
            //else
            //{
            //    cmbfields.SelectedIndex = 0;
            //}
            cmbfields.Text = pLable.Expression;

            InstalledFontCollection pFontCollection = new InstalledFontCollection();

            FontFamily[] pFontFamily = pFontCollection.Families;
            for (int i = 0; i < pFontFamily.Length; i++)
            {
                string pFontName = pFontFamily[i].Name;
                this.cmbfont.Items.Add(pFontName);
            }

            //标注方向
            ILineLabelPosition pLineLabelPosition = pBasic.LineLabelPosition;

            if (pLineLabelPosition != null)
            {
                if (pLineLabelPosition.Horizontal)  //水平
                {
                    radioBtnHorizontal.Checked    = true;
                    radioBtnParallel.Checked      = false;
                    radioBtnPerpendicular.Checked = false;
                }
                if (pLineLabelPosition.Perpendicular)//垂直
                {
                    radioBtnHorizontal.Checked    = false;
                    radioBtnParallel.Checked      = false;
                    radioBtnPerpendicular.Checked = true;
                }
                if (pLineLabelPosition.Parallel)//平行
                {
                    radioBtnHorizontal.Checked    = false;
                    radioBtnParallel.Checked      = true;
                    radioBtnPerpendicular.Checked = false;
                }
            }

            if (pLable.Symbol != null)
            {
                pTextSymbol = pLable.Symbol;
                stdole.IFontDisp pFont = pTextSymbol.Font;
                symbolcolor.SelectedColor = ClsGDBDataCommon.IColorToColor(pTextSymbol.Color);
                //cmbfont.Text = pTextSymbol.Font.Name;
                for (int i = 0; i < cmbfont.Items.Count; i++)
                {
                    if (cmbfont.Items[i].ToString() == pTextSymbol.Font.Name)
                    {
                        cmbfont.SelectedIndex = i;
                    }
                }
                cmbsize.Text = pTextSymbol.Size.ToString();
                if (pFont.Bold == true)
                {
                    toolBtnBold.Checked = true;
                }
                else
                {
                    toolBtnBold.Checked = false;
                }
                if (pFont.Italic == true)
                {
                    toolBtnIntend.Checked = true;
                }
                else
                {
                    toolBtnIntend.Checked = false;
                }
                if (pFont.Underline == true)
                {
                    toolBtnUnderline.Checked = true;
                }
                else
                {
                    toolBtnUnderline.Checked = false;
                }
                if (pFont.Strikethrough == true)
                {
                    toolBtnStrikethrough.Checked = true;
                }
                else
                {
                    toolBtnStrikethrough.Checked = false;
                }
            }
            else
            {
                symbolcolor.SelectedColor = Color.Black;
                cmbfont.SelectedIndex     = cmbfont.Items.Count - 9;
                cmbsize.Text                 = "8";
                toolBtnBold.Checked          = false;
                toolBtnIntend.Checked        = false;
                toolBtnUnderline.Checked     = false;
                toolBtnStrikethrough.Checked = false;
            }
        }
Example #9
0
        /// <summary>
        /// 标注符号
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnsymbol_Click(object sender, EventArgs e)
        {
            FrmTextSymbol frmtext = new FrmTextSymbol();

            frmtext.StartPosition = FormStartPosition.CenterScreen;
            frmtext.ShowInTaskbar = false;
            frmtext.ShowDialog();
            pTextSymbol = frmtext.GetTextSymbol();
            if (pTextSymbol != null)
            {
                stdole.IFontDisp pFont = pTextSymbol.Font;
                symbolcolor.SelectedColor = ClsGDBDataCommon.IColorToColor(pTextSymbol.Color);
                //cmbfont.Text = pTextSymbol.Font.Name;
                for (int i = 0; i < cmbfont.Items.Count; i++)
                {
                    if (cmbfont.Items[i].ToString() == pTextSymbol.Font.Name)
                    {
                        cmbfont.SelectedIndex = i;
                    }
                }
                cmbsize.Text = pTextSymbol.Size.ToString();
                if (pFont.Bold == true)
                {
                    toolBtnBold.Checked = true;
                }
                else
                {
                    toolBtnBold.Checked = false;
                }
                if (pFont.Italic == true)
                {
                    toolBtnIntend.Checked = true;
                }
                else
                {
                    toolBtnIntend.Checked = false;
                }
                if (pFont.Underline == true)
                {
                    toolBtnUnderline.Checked = true;
                }
                else
                {
                    toolBtnUnderline.Checked = false;
                }
                if (pFont.Strikethrough == true)
                {
                    toolBtnStrikethrough.Checked = true;
                }
                else
                {
                    toolBtnStrikethrough.Checked = false;
                }
            }
            else
            {
                IFontDisp pFont = new StdFontClass() as IFontDisp;
                pTextSymbol.Color   = ClsGDBDataCommon.ColorToIColor(symbolcolor.SelectedColor);
                pFont.Bold          = toolBtnBold.Checked;
                pFont.Italic        = toolBtnIntend.Checked;
                pFont.Strikethrough = toolBtnStrikethrough.Checked;
                pFont.Underline     = toolBtnUnderline.Checked;
                pFont.Name          = cmbfont.Text;
                pFont.Size          = decimal.Parse(cmbsize.Text);
                pTextSymbol.Font    = pFont;
            }
        }
Example #10
0
        private void DrawPipiInfo()
        {
            int i = 0;
            //IFeature pFea;
            //IFeature pFeature;
            //IGraphicsContainer pGraContainer = m_pMapControl.Map as IGraphicsContainer;
            //IFeatureClass pFeatureClass;
            //IFeatureCursor pFeaCur;
            //ISpatialFilter pSpatialFilter = new SpatialFilterClass();

            //pSpatialFilter.Geometry = m_pGeoTrack;
            //pSpatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects;
            IPoint      pAnnoPnt = new PointClass();
            ITextSymbol sym      = new TextSymbolClass();

            stdole.IFontDisp myfont = (stdole.IFontDisp) new stdole.StdFontClass();
            myfont.Name = "华文细黑";
            sym.Font    = myfont;
            myfont.Bold = true;
            sym.Size    = 8 /*SystemInfo.Instance.TextSize*/;


            /*for (int n = 0; n < m_pArrLineLayers.Count; n++)
             * {
             *
             *  pFeatureClass = (m_pArrLineLayers[n] as IFeatureLayer).FeatureClass;
             *  pFeaCur = pFeatureClass.Search(pSpatialFilter, false);//获得与断面相加的所有管线
             *  int m = pFeatureClass.FeatureCount(pSpatialFilter);
             *  pFeature = pFeaCur.NextFeature();
             *  while (pFeature != null)
             *  {
             *
             *      ISimpleLineSymbol pSimpleLineSymbol = new SimpleLineSymbolClass();
             *      IFeatureRenderer FeatureRenderer = new SimpleRendererClass();
             *      ILayer FLayer;
             *      IGeoFeatureLayer Layer;
             *      FLayer = m_pArrLineLayers[n] as ILayer;
             *      Layer = FLayer as IGeoFeatureLayer;
             *      if (Layer == null) return;
             *      FeatureRenderer = Layer.Renderer;
             *
             *      //获取此图层的Symbol
             *      pSimpleLineSymbol = (ISimpleLineSymbol)FeatureRenderer.get_SymbolByFeature(pFeature);
             *      sym.Color = pSimpleLineSymbol.Color;
             *
             *      //类别
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *      ITextElement pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      IElement pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *      pGraContainer.AddElement(pElement, 0);
             *      //起点点号
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi1.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 2, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      //终点点号
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi2.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 3, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      //材质
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi3.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 4, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      //埋设方式
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi4.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 5, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      //管径
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi5.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 6, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      //所在道路
             *      sym.Text = pFeature.get_Value(pFeature.Fields.FindField(fi6.Name)).ToString();
             *      if (sym.Text == null) return;
             *      pAnnoPnt.PutCoords(dblStartX + nWidth * 7, dblStartY + nHeight * (m_pArrPipes.Count - (i + 1)));//居中显示,并位于表格边线以上m_dblTableHeadWidth/5*3
             *
             *      pTextElement = new TextElementClass();
             *      pTextElement.ScaleText = true;
             *      pTextElement.Text = sym.Text;
             *      pTextElement.Symbol = sym;
             *      pElement = (IElement)pTextElement;
             *      pElement.Geometry = pAnnoPnt;
             *
             *      pGraContainer.AddElement(pElement, 0);
             *
             *      pFeature = pFeaCur.NextFeature();
             ++i;
             *  }*/
        }