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; }
private IFontDisp SetFontProperties(string fontName, int fontSize) { stdole.IFontDisp fnt = (stdole.IFontDisp) new stdole.StdFont(); fnt.Name = fontName; fnt.Size = (decimal)fontSize; return(fnt); }
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); }
/// <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; }
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); }
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) { } }
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; }
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; } }
/// <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; } }
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; * }*/ }