private void TEXT_Load(object sender, EventArgs e) { textBox1.Text = pTextElement.Text; textBox2.Text = pTextSymbol.Font.Name + " " + pTextSymbol.Font.Size.ToString(); numericUpDown1.Value = (decimal)(pTextSymbol.Angle); checkB.Checked = pTextSymbol.Font.Bold; checkI.Checked = pTextSymbol.Font.Underline; checkU.Checked = pTextSymbol.Font.Italic; pCharacterOrientation = pTextSymbol as ICharacterOrientation; checkO.Checked = pCharacterOrientation.CJKCharactersRotation; }
/// <summary> /// CJK字符变化时触发事件 /// </summary> /// <param name="sender">CJK字符状态按钮</param> /// <param name="e">TextEdit状态变化事件参数</param> private void chkTextSymbolsCJK_CheckedChanged(object sender, EventArgs e) { stdole.Font pFont = new stdole.StdFontClass(); pFont.Name = pTextSymbol.Font.Name; pFont.Size = pTextSymbol.Font.Size; pFont.Bold = pTextSymbol.Font.Bold; pFont.Italic = pTextSymbol.Font.Italic; pFont.Underline = pTextSymbol.Font.Underline; pFont.Strikethrough = pTextSymbol.Font.Strikethrough; pTextSymbol.Font = pFont as IFontDisp; ICharacterOrientation pCharacterOrientation = pTextSymbol as ICharacterOrientation; pCharacterOrientation.CJKCharactersRotation = chkTextSymbolsCJK.Checked; currentStyleGalleryItem.Item = pTextSymbol; PreviewImage(); }
private void button2_Click(object sender, EventArgs e) { pCharacterOrientation = pTextSymbol as ICharacterOrientation; pCharacterOrientation.CJKCharactersRotation = checkO.Checked; stdole.IFontDisp pFont = pTextSymbol.Font; pFont.Bold = checkB.Checked; pFont.Underline = checkI.Checked; pFont.Italic = checkU.Checked; pTextSymbol.Font = pFont; pTextElement.Text = textBox1.Text; pTextElement.Symbol = pTextSymbol; pGraphicsContainer.UpdateElement(pTextElement as IElement); pPageLayout.ActiveView.Refresh(); //pPageLayout.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null); this.Close(); this.Dispose(); }
/// <summary> /// 选中已有项目时触发事件 /// </summary> /// <param name="sender">符号选择控件</param> /// <param name="e">axSymbologyControl选择事件参数</param> private void axSymbologyControl_OnItemSelected(object sender, ISymbologyControlEvents_OnItemSelectedEvent e) { SwitchItemForOutLine = true; OriginStyleGalleryItem = e.styleGalleryItem as IStyleGalleryItem; IObjectCopy pObjectCopy = new ObjectCopyClass(); switch (CurrentSymbologyStyleClass) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: currentStyleGalleryItem = pObjectCopy.Copy(OriginStyleGalleryItem) as IStyleGalleryItem; pMarkerSymbol = currentStyleGalleryItem.Item as IMarkerSymbol; byte[] myMarkerByte = LongToRGB(pMarkerSymbol.Color.RGB); colMarkerSymbolsColor.Color = System.Drawing.Color.FromArgb(myMarkerByte[0], myMarkerByte[1], myMarkerByte[2]); spnMarkerSymbolsSize.EditValue = pMarkerSymbol.Size; spnMarkerSymbolsAngle.EditValue = pMarkerSymbol.Angle; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: currentStyleGalleryItem = pObjectCopy.Copy(OriginStyleGalleryItem) as IStyleGalleryItem; pLineSymbol = currentStyleGalleryItem.Item as ILineSymbol; byte[] myLineByte = LongToRGB(pLineSymbol.Color.RGB); colLineSymbolsColor.Color = System.Drawing.Color.FromArgb(myLineByte[0], myLineByte[1], myLineByte[2]); spnLineSymbolsWidth.EditValue = pLineSymbol.Width; break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: currentStyleGalleryItem = pObjectCopy.Copy(OriginStyleGalleryItem) as IStyleGalleryItem; IFillSymbol pTempFillSymbol = OriginStyleGalleryItem.Item as IFillSymbol; pOriginOutlineSymbol = pTempFillSymbol.Outline; pFillSymbol = currentStyleGalleryItem.Item as IFillSymbol; try { byte[] myFillByte = LongToRGB(pFillSymbol.Color.RGB); colFillSymbolsFillColor.Color = System.Drawing.Color.FromArgb(myFillByte[0], myFillByte[1], myFillByte[2]); } catch { colFillSymbolsFillColor.Color = System.Drawing.Color.FromArgb(0); colFillSymbolsFillColor.Enabled = false; } spnFillSymbolsLineWidth.EditValue = pFillSymbol.Outline.Width; try { byte[] myOutLineByte = LongToRGB(pFillSymbol.Outline.Color.RGB); colFillSymbolsLineColor.Color = System.Drawing.Color.FromArgb(myOutLineByte[0], myOutLineByte[1], myOutLineByte[2]); } catch { colFillSymbolsLineColor.Color = System.Drawing.Color.FromArgb(0); colFillSymbolsLineColor.Enabled = false; } break; // case esriSymbologyStyleClass.esriStyleClassLabels: case esriSymbologyStyleClass.esriStyleClassTextSymbols: ITextSymbol pTempTextSymbol = currentStyleGalleryItem.Item as ITextSymbol; string strText = pTempTextSymbol.Text; currentStyleGalleryItem = pObjectCopy.Copy(OriginStyleGalleryItem) as IStyleGalleryItem; pTextSymbol = currentStyleGalleryItem.Item as ITextSymbol; pTextSymbol.Text = strText; currentStyleGalleryItem.Item = pTextSymbol; pTextSymbol.HorizontalAlignment = esriTextHorizontalAlignment.esriTHACenter; pTextSymbol.VerticalAlignment = esriTextVerticalAlignment.esriTVACenter; byte[] byteColor = LongToRGB(pTextSymbol.Color.RGB); colTextSymbolsColor.Color = System.Drawing.Color.FromArgb(byteColor[0], byteColor[1], byteColor[2]); comTextSymbolsFont.Text = pTextSymbol.Font.Name; //当前选择中的字体名 comTextSymbolsFontSize.Text = pTextSymbol.Font.Size.ToString(); //当前选择中字体大小 btnTextSymbolsBoldFont.Checked = pTextSymbol.Font.Bold; btnTextSymbolsItalicFont.Checked = pTextSymbol.Font.Italic; btnTextSymbolsUnderlineFont.Checked = pTextSymbol.Font.Underline; btnTextSymbolsStrikethrough.Checked = pTextSymbol.Font.Strikethrough; ICharacterOrientation pCharacterOrientation = pTextSymbol as ICharacterOrientation; chkTextSymbolsCJK.Checked = pCharacterOrientation.CJKCharactersRotation; break; } PreviewImage(); SwitchItemForOutLine = false; }
/// <summary> /// 窗体载入时触发事件 /// </summary> /// <param name="sender">窗体控件</param> /// <param name="e">Form截入事件参数</param> private void SymbolSelectorForm_Load(object sender, EventArgs e) { comboBoxDisplayStyle.EditValue = "平铺"; switch (CurrentSymbologyStyleClass) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: //点 tabOptions.SelectedTabPage = tpeMarkerSymbols; pMarkerSymbol = InSymbol as IMarkerSymbol; byte[] myMarkerByte; // = new byte[3]; myMarkerByte = LongToRGB(pMarkerSymbol.Color.RGB); colMarkerSymbolsColor.Color = System.Drawing.Color.FromArgb(myMarkerByte[0], myMarkerByte[1], myMarkerByte[2]); spnMarkerSymbolsSize.EditValue = pMarkerSymbol.Size; spnMarkerSymbolsAngle.EditValue = pMarkerSymbol.Angle; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: //线 tabOptions.SelectedTabPage = tpeLineSymbols; pLineSymbol = InSymbol as ILineSymbol; byte[] myLineByte; // = new byte[3]; myLineByte = LongToRGB(pLineSymbol.Color.RGB); colLineSymbolsColor.Color = System.Drawing.Color.FromArgb(myLineByte[0], myLineByte[1], myLineByte[2]); spnLineSymbolsWidth.EditValue = pLineSymbol.Width; break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: //面 tabOptions.SelectedTabPage = tpeFillSymbols; pFillSymbol = InSymbol as IFillSymbol; pOutlineSymbol.Color = pFillSymbol.Outline.Color; pOutlineSymbol.Width = pFillSymbol.Outline.Width; try { byte[] myFillByte; // = new byte[3]; myFillByte = LongToRGB(pFillSymbol.Color.RGB); colFillSymbolsFillColor.Color = System.Drawing.Color.FromArgb(myFillByte[0], myFillByte[1], myFillByte[2]); } catch { colFillSymbolsFillColor.Color = System.Drawing.Color.FromArgb(0); colFillSymbolsFillColor.Enabled = false; } spnFillSymbolsLineWidth.EditValue = pFillSymbol.Outline.Width; try { byte[] myOutLineByte; // = new byte[3]; myOutLineByte = LongToRGB(pFillSymbol.Outline.Color.RGB); colFillSymbolsLineColor.Color = System.Drawing.Color.FromArgb(myOutLineByte[0], myOutLineByte[1], myOutLineByte[2]); } catch { colFillSymbolsLineColor.Color = System.Drawing.Color.FromArgb(0); colFillSymbolsLineColor.Enabled = false; } break; // case esriSymbologyStyleClass.esriStyleClassLabels://文本 case esriSymbologyStyleClass.esriStyleClassTextSymbols: //文本 tabOptions.SelectedTabPage = tpeTextSymbols; pTextSymbol = InSymbol as ITextSymbol; byte[] byteColor = LongToRGB(pTextSymbol.Color.RGB); colTextSymbolsColor.Color = System.Drawing.Color.FromArgb(byteColor[0], byteColor[1], byteColor[2]); foreach (FontFamily oneFontFamily in FontFamily.Families) { comTextSymbolsFont.Properties.Items.Add(oneFontFamily.Name); } comTextSymbolsFont.Text = pTextSymbol.Font.Name; //当前选择中的字体名 comTextSymbolsFontSize.Text = pTextSymbol.Font.Size.ToString(); //当前选择中字体大小 btnTextSymbolsBoldFont.Checked = pTextSymbol.Font.Bold; btnTextSymbolsItalicFont.Checked = pTextSymbol.Font.Italic; btnTextSymbolsUnderlineFont.Checked = pTextSymbol.Font.Underline; btnTextSymbolsStrikethrough.Checked = pTextSymbol.Font.Strikethrough; ICharacterOrientation pCharacterOrientation = pTextSymbol as ICharacterOrientation; chkTextSymbolsCJK.Checked = pCharacterOrientation.CJKCharactersRotation; break; } axSymbologyControl.LoadStyleFile(Application.StartupPath + @"\Styles\ESRI.ServerStyle"); axSymbologyControl.StyleClass = CurrentSymbologyStyleClass; currentStyleGalleryItem.Item = InSymbol; PreviewImage(); }