private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass) { this.axSymbologyControl.StyleClass = symbologyStyleClass; ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass); pSymbologyStyleClass.SelectItem(0); }
private void InitialColorRamp(esriSymbologyStyleClass styleClass) { if (m_pRasterRenderer is IRasterStretchColorRampRenderer) { //得到当前栅格拉伸渲染样式 IRasterStretchColorRampRenderer rasterStrecthcRenderer = m_pRasterRenderer as IRasterStretchColorRampRenderer; //从文件打开渲染库 string sInstall = ClsGDBDataCommon.GetParentPathofExe() + @"Resource\Style\ESRI.ServerStyle"; axSymbologyControl1.LoadStyleFile(sInstall); axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps; pSymbolClass = axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassColorRamps); IStyleGalleryItem pStyleGalleryItem = new ServerStyleGalleryItem(); pStyleGalleryItem.Item = rasterStrecthcRenderer.ColorRamp; pSymbolClass.AddItem(pStyleGalleryItem, 0); //将渲染库中所有渲染方式添加到列表中 for (int i = 0; i < pSymbolClass.ItemCount; i++) { stdole.IPictureDisp pPicture = pSymbolClass.PreviewItem(pSymbolClass.GetItem(i), cmbColorRamp.Width, cmbColorRamp.Height); Image image = Image.FromHbitmap(new System.IntPtr(pPicture.Handle)); cmbColorRamp.Items.Add(image); } if (pSymbolClass.ItemCount > 0) { pSymbolClass.SelectItem(0); } if (cmbColorRamp.Items.Count > 0) { cmbColorRamp.SelectedIndex = 0; } } }
public GetSymbolByControl(esriSymbologyStyleClass styleClass) { InitializeComponent(); //禁用Glass主题 this.EnableGlass = false; //不显示最大化最小化按钮 this.MaximizeBox = false; this.MinimizeBox = false; // this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; //去除图标 this.ShowIcon = false; gStyleClass = styleClass; //@"C:\Program Files (x86)\ArcGIS\Desktop10.2\Styles\ESRI_Optimized.ServerStyle" //Get the ArcGIS install location C:\Program Files (x86)\ArcGIS\Engine10.2\Styles string sInstall = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path; //Load the ESRI.ServerStyle file into the SymbologyControl axSymbologyControl1.LoadStyleFile(sInstall + "Styles\\ESRI_Optimized.ServerStyle"); //Set the style class //axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps; axSymbologyControl1.StyleClass = gStyleClass; //Select the color ramp item //axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass).SelectItem(0); stylesPath = sInstall + "Styles"; //cbxStyles.Items.Clear(); cbxStylesAddItems(stylesPath); }
public FormSymbologySelector(FormMainOperation formMainOperation, esriSymbologyStyleClass esriSymbologyStyleClass) { InitializeComponent(); m_FrmMainOper = formMainOperation; Ctrl_Symbology.StyleClass = esriSymbologyStyleClass; Ctrl_Symbology.Refresh(); }
public GetSymbolByControl(esriSymbologyStyleClass styleClass) { InitializeComponent(); //禁用Glass主题 this.EnableGlass = false; //不显示最大化最小化按钮 this.MaximizeBox = false; this.MinimizeBox = false; // this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; //去除图标 this.ShowIcon = false; gStyleClass = styleClass; //@"C:\Program Files (x86)\ArcGIS\Desktop10.2\Styles\ESRI_Optimized.ServerStyle" //Get the ArcGIS install location C:\Program Files (x86)\ArcGIS\Engine10.2\Styles string sInstall = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path; //Load the ESRI.ServerStyle file into the SymbologyControl axSymbologyControl1.LoadStyleFile(sInstall + "Styles\\ESRI_Optimized.ServerStyle"); //Set the style class //axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassColorRamps; axSymbologyControl1.StyleClass = gStyleClass; //Select the color ramp item //axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass).SelectItem(0); stylesPath = sInstall + "Styles"; //cbxStyles.Items.Clear(); cbxStylesAddItems(stylesPath); }
private ISymbol GetSymbolByControl(ISymbol symbolType) { ISymbol symbol = null; IStyleGalleryItem styleGalleryItem = null; esriSymbologyStyleClass styleClass = esriSymbologyStyleClass. esriStyleClassMarkerSymbols; if (symbolType is IMarkerSymbol) { styleClass = esriSymbologyStyleClass.esriStyleClassMarkerSymbols; } if (symbolType is ILineSymbol) { styleClass = esriSymbologyStyleClass.esriStyleClassLineSymbols; } if (symbolType is IFillSymbol) { styleClass = esriSymbologyStyleClass.esriStyleClassFillSymbols; } GetSymbol symbolForm = new GetSymbol(styleClass); symbolForm.ShowDialog(); styleGalleryItem = symbolForm.m_styleGalleryItem; if (styleGalleryItem == null) { return(null); } symbol = styleGalleryItem.Item as ISymbol; symbolForm.Dispose(); this.Activate(); return(symbol); }
/// <summary> /// 初始化点、线、面GroupBox中的项 /// </summary> /// <param name="vSymbologyStyleClass"></param> private void InitialGroupBox(esriSymbologyStyleClass vSymbologyStyleClass) { switch (vSymbologyStyleClass) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: this.gbPoint.Visible = true; this.gbLine.Visible = false; this.gbArea.Visible = false; this.gbPoint.Left = this.gbArea.Left; this.gbPoint.Top = this.gbArea.Top; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: this.gbPoint.Visible = false; this.gbLine.Visible = true; this.gbArea.Visible = false; this.gbLine.Left = this.gbArea.Left; this.gbLine.Top = this.gbArea.Top; break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: this.gbPoint.Visible = false; this.gbLine.Visible = false; this.gbArea.Visible = true; //this.gbArea.Left = this.gbPoint.Left; //this.gbArea.Top = this.gbPoint.Top; break; default: break; } }
/// <summary> /// 从符号库ServerStyle选择符号 /// </summary> /// <param name="styleClass">符号类型</param> /// <param name="pSymbol">输入的符号,可以是空</param> /// <returns></returns> public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, object pSymbol) { SetGroupVisible(5); m_pStyle = styleClass; axSymbologyControl1.StyleClass = m_pStyle; ISymbologyStyleClass symbologyStyleClass = axSymbologyControl1.GetStyleClass(styleClass); if (pSymbol != null) { try { m_styleGalleryItem = new ServerStyleGalleryItemClass(); m_styleGalleryItem.Item = pSymbol; m_styleGalleryItem.Name = "tempSymbo"; PreviewImage(m_styleGalleryItem); symbologyStyleClass.AddItem(m_styleGalleryItem, 0); symbologyStyleClass.SelectItem(0); } catch { } } this.ShowDialog(); return(m_styleGalleryItem); }
public FrmScale(IHookHelper hookHelper, esriSymbologyStyleClass pStyleClass) { InitializeComponent(); this.EnableGlass = false; m_hookHelper = hookHelper; StyleClass = pStyleClass; }
/// <summary> /// 初始化SymbologyControl的StyleClass,图层如果已有符号,则把符号添加到SymbologyControl中的第一个符号,并选中 /// </summary> /// <param name="symbologyStyleClass"></param> private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass) { axSymbologyCtlFrame.StyleClass = symbologyStyleClass; ISymbologyStyleClass pSymbologyStyleClass = axSymbologyCtlFrame.GetStyleClass(symbologyStyleClass); pSymbologyStyleClass.SelectItem(0); }
private void SymbologyForm_Load(object sender, EventArgs e) { switch (((IFeatureLayer)pLayer).FeatureClass.ShapeType) //判断图层中要素类的图形类型,不同类型显示的调节值的控件不同 { case esriGeometryType.esriGeometryPoint: //点 pStyleClass = esriSymbologyStyleClass.esriStyleClassMarkerSymbols; lbColor.Visible = true; lbWidth.Visible = true; lbWidth.Text = "符号大小"; //lbAngle.Visible = true; //btColor.Visible = true; nudWidth.Visible = true; cbColor.Visible = true; //nudAngle.Visible = true; break; case esriGeometryType.esriGeometryPolyline: //线 pStyleClass = esriSymbologyStyleClass.esriStyleClassLineSymbols; lbColor.Visible = true; lbColor.Location = System.Drawing.Point.Add(lbColor.Location, new Size(0, 12)); lbWidth.Visible = true; lbWidth.Location = System.Drawing.Point.Add(lbWidth.Location, new Size(0, 24)); lbWidth.Text = "线符号粗细"; //btColor.Visible = true; cbColor.Visible = true; //btColor.Location = System.Drawing.Point.Add(btColor.Location, new Size(0, 12)); cbColor.Location = System.Drawing.Point.Add(cbColor.Location, new Size(0, 12)); nudWidth.Visible = true; nudWidth.Location = System.Drawing.Point.Add(nudWidth.Location, new Size(0, 24)); break; case esriGeometryType.esriGeometryPolygon: //面 pStyleClass = esriSymbologyStyleClass.esriStyleClassFillSymbols; lbColor.Visible = true; lbWidth.Visible = true; lbWidth.Text = "框线宽度"; lbOutlineColor.Visible = true; //btColor.Visible = true; //btOutlineColor.Visible = true; nudWidth.Visible = true; cbColor.Visible = true; cbOutlineColor.Visible = true; break; default: this.Close(); break; } //ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path 可以获得 ArcGIS 的安装目录 //获取 ESRI.ServerStyle 文件并加载入axSymbologyControl控件 string stylePath = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path + @"Styles\ESRI.ServerStyle"; if (!File.Exists(stylePath)) return; axSymbologyControl1.LoadStyleFile(stylePath); axSymbologyControl1.StyleClass = pStyleClass; //将上面获得的 pStyleClass 赋给axSymbologyControl控件,点线面 //新建符号实例,用当前图例的符号类型 赋值,并将其添加到axSymbologyControl中 IStyleGalleryItem pCurrentStyleGalleryItem = new StyleGalleryItem(); pCurrentStyleGalleryItem.Name = "当前符号"; pCurrentStyleGalleryItem.Item = pLegendClass.Symbol; ISymbologyStyleClass pSymbologyStyleClass = axSymbologyControl1.GetStyleClass(axSymbologyControl1.StyleClass); //QI,加入这个新建项 pSymbologyStyleClass.AddItem(pCurrentStyleGalleryItem, 0); pSymbologyStyleClass.SelectItem(0); //设置为选中状态 }
public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass) { m_styleGalleryItem = null; axSymbologyControl.StyleClass = styleClass; axSymbologyControl.GetStyleClass(styleClass).UnselectItem(); this.ShowDialog(); return(m_styleGalleryItem); }
public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass) { m_styleGalleryItem = null; axSymbologyControl.StyleClass = styleClass; axSymbologyControl.GetStyleClass(styleClass).UnselectItem(); this.ShowDialog(); return m_styleGalleryItem; }
//简单渲染 public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateSimpleRenderer(esriSymbologyStyleClass _SymbologyStyleClass) { ESRI.ArcGIS.Carto.ISimpleRenderer pSimpleRenderer = new ESRI.ArcGIS.Carto.SimpleRendererClass(); pSimpleRenderer.Description = ""; pSimpleRenderer.Label = ""; pSimpleRenderer.Symbol = ModuleCommon.CreateSymbol(_SymbologyStyleClass); return(pSimpleRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer); }
public FrmSymbolFillSL(esriSymbologyStyleClass StyleClass, FrmSymbolFill frm, string str, string[] SymbolS) { InitializeComponent(); this.EnableGlass = false; pStyleClass = StyleClass; frmfill = frm; strstyle = str; SymbolStyle = SymbolS; }
/// <summary> /// 构造函数 /// </summary> /// <param name="EntranceSymbol">符号对象</param> /// <param name="SymbologyStyleClass">符号样式类</param> public FormSymbolSelector(ISymbol EntranceSymbol, esriSymbologyStyleClass SymbologyStyleClass) { InitializeComponent(); IObjectCopy pObjectCopy = new ObjectCopyClass(); InSymbol = pObjectCopy.Copy(EntranceSymbol) as ISymbol; CurrentSymbologyStyleClass = SymbologyStyleClass; currentStyleGalleryItem = new ServerStyleGalleryItemClass(); pOutlineSymbol = new SimpleLineSymbolClass(); }
//唯一值渲染 public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateUVRenderer(esriSymbologyStyleClass _SymbologyStyleClass) { ESRI.ArcGIS.Carto.IUniqueValueRenderer pUVRenderer = new ESRI.ArcGIS.Carto.UniqueValueRendererClass(); pUVRenderer.FieldCount = 0; pUVRenderer.DefaultLabel = "<All Other Values>"; pUVRenderer.ColorScheme = ""; pUVRenderer.DefaultSymbol = ModuleCommon.CreateSymbol(_SymbologyStyleClass); return(pUVRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer); }
//分级颜色渲染 public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateBreakColorRenderer(esriSymbologyStyleClass _SymbologyStyleClass) { ESRI.ArcGIS.Carto.IClassBreaksRenderer pBreakRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass(); pBreakRenderer.Field = "<NONE>"; pBreakRenderer.MinimumBreak = 0; pBreakRenderer.BreakCount = 0; pBreakRenderer.BackgroundSymbol = null; ESRI.ArcGIS.Carto.IClassBreaksUIProperties pUIProp = pBreakRenderer as ESRI.ArcGIS.Carto.IClassBreaksUIProperties; pUIProp.ColorRamp = ""; return(pBreakRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer); }
public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass) { //m_styleGalleryItem = null; _symbolStyle = styleClass; this.axSymbologyControl1.StyleClass = styleClass; this.axSymbologyControl1.GetStyleClass(styleClass).UnselectItem(); //显示模式对话框 this.ShowDialog(); return(m_styleGalleryItem); }
public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass) { //m_styleGalleryItem = null; _symbolStyle = styleClass; this.axSymbologyControl1.StyleClass = styleClass; this.axSymbologyControl1.GetStyleClass(styleClass).UnselectItem(); //显示模式对话框 this.ShowDialog(); return m_styleGalleryItem; }
//返回样式图片 public void GetImageByGiveSymbolBeforeSelectItem(esriSymbologyStyleClass styleClass, ISymbol symbol) { axSymbologyControl.StyleClass = styleClass; ISymbologyStyleClass symbologyStyleClass = axSymbologyControl.GetStyleClass(styleClass); IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem(); styleGalleryItem.Item = symbol; stdole.IPictureDisp picture = symbologyStyleClass.PreviewItem(styleGalleryItem, ImagePreview.Width, ImagePreview.Height); System.Drawing.Image pImage = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle)); ImagePreview.Image = pImage; }
/// <summary> /// 加载系统符号样式 /// </summary> /// <param name="symbologyCtrl">符号显示控件</param> /// <param name="symbologyStyle">符号样式</param> /// <param name="subFolder"></param> public static void LoadSymbolStyle(AxSymbologyControl symbologyCtrl, esriSymbologyStyleClass symbologyStyle, string subFolder = @"Symbol\StyleSymbol\ESRI.ServerStyle") { symbologyCtrl.Clear(); string styleFilePath = string.Format(@"{0}\{1}", Application.StartupPath, subFolder); //载入系统符号库 symbologyCtrl.LoadStyleFile(styleFilePath); symbologyCtrl.StyleClass = symbologyStyle; ISymbologyStyleClass pSymStyleClass = symbologyCtrl.GetStyleClass(symbologyCtrl.StyleClass); pSymStyleClass.GetItem(0); pSymStyleClass.UnselectItem(); }
public static ESRI.ArcGIS.Carto.IFeatureRenderer GetRendererFromLayer( ESRI.ArcGIS.Carto.IFeatureLayer pLayer, esriSymbologyStyleClass _SymbologyStyleClass) { if (pLayer == null) { return(CreateUVRenderer(_SymbologyStyleClass)); } ESRI.ArcGIS.Carto.IGeoFeatureLayer pGeoLayer = pLayer as ESRI.ArcGIS.Carto.IGeoFeatureLayer; if (pGeoLayer == null || pGeoLayer.Renderer == null) { return(CreateUVRenderer(_SymbologyStyleClass)); } return(pGeoLayer.Renderer); }
/// <summary> /// 根据符号样式类别初始化SymbologyControl,如果图层已有符号,则把符号作为SymbologyControl的第一个符号并选中 /// </summary> /// <param name="eSymbologyStyleClass">符号样式类别枚举(点/线/面/标注/文本/指北针/比例尺等样式类别)</param> private void SetFeatureClassStyle(esriSymbologyStyleClass eSymbologyStyleClass) { SymbologyControl.StyleClass = eSymbologyStyleClass;//获取指定类别的符号样式库,即当前是点/线/面/标注/文本/指北针/比例尺等符号库的哪一个符号库 var symbologyStyleClass = SymbologyControl.GetStyleClass(eSymbologyStyleClass); if (LegendClass != null) { StyleGalleryItem = new ServerStyleGalleryItem { Name = "当前符号", Item = LegendClass.Symbol }; symbologyStyleClass.AddItem(StyleGalleryItem, 0); } symbologyStyleClass.SelectItem(0); }
//选择样式前返回面图片 public Image GetImageByGiveAreaSymbolBeforeSelectItem(esriSymbologyStyleClass styleClass, IAreaPatch symbol, int width, int height) { axSymbologyCtlFrame.StyleClass = styleClass; ISymbologyStyleClass symbologyStyleClass = axSymbologyCtlFrame.GetStyleClass(styleClass); IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem(); styleGalleryItem.Item = symbol; symbologyStyleClass.AddItem(styleGalleryItem, 0); symbologyStyleClass.SelectItem(0); stdole.IPictureDisp picture = symbologyStyleClass.PreviewItem(pStyleGalleryItem, width, height); System.Drawing.Image image = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle)); return(image); }
/// <summary> /// ���ú�SymbologyControl��StyleClass,�����ͼ��,�ѵ�ǰ��TOCͼ���ķ�����ӵ���ǰSymbologyStyleClass��ȥ,����֮����ѡ��״̬ /// </summary> /// <param name="symbologyStyleClass"></param> private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass) { this.axSymbologyControl.StyleClass = symbologyStyleClass; ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass); if (this.pLegendClass != null) { IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem(); currentStyleGalleryItem.Name = "Current Symbol"; currentStyleGalleryItem.Item = pLegendClass.Symbol; pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0); this.pStyleGalleryItem = currentStyleGalleryItem; } pSymbologyStyleClass.SelectItem(0); }
/// <summary> /// Gets the item. /// </summary> /// <param name="styleClass">The style class.</param> /// <param name="styleItem">The style item.</param> /// <returns>IStyleGalleryItem.</returns> public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, object styleItem) { this._styleGalleryItem = null; this.axSymbologyControl1.StyleClass = styleClass; ISymbologyStyleClass styleClass2 = this.axSymbologyControl1.GetStyleClass(styleClass); if (styleItem != null) { this._styleGalleryItem = new ServerStyleGalleryItemClass(); this._styleGalleryItem.Item = styleItem; this._styleGalleryItem.Name = frmSymbolSelector.MSG01; styleClass2.AddItem(this._styleGalleryItem, 0); styleClass2.SelectItem(0); } base.ShowDialog(); return(this._styleGalleryItem); }
private void InitRendererObject(IFeatureRenderer pRenderer, esriSymbologyStyleClass _SymbologyStyleClass) { m_SymbologyStyleClass = _SymbologyStyleClass; ISimpleRenderer pSimpleRenderer = pRenderer as ISimpleRenderer; txtName.Text = pSimpleRenderer.Label; txtDesc.Text = pSimpleRenderer.Description; if (pSimpleRenderer.Symbol == null) { labelPreviewFore.Tag = ModuleCommon.CreateSymbol(m_SymbologyStyleClass); } else { labelPreviewFore.Tag = pSimpleRenderer.Symbol; } labelPreviewFore.Image = ModuleCommon.Symbol2Picture(labelPreviewFore.Tag as ISymbol, ModuleCommon.ImageWidth, ModuleCommon.ImageHeight); }
//分级大小渲染 public static ESRI.ArcGIS.Carto.IFeatureRenderer CreateBreakSizeRenderer(esriSymbologyStyleClass _SymbologyStyleClass) { ESRI.ArcGIS.Carto.IClassBreaksRenderer pBreakRenderer = new ESRI.ArcGIS.Carto.ClassBreaksRendererClass(); pBreakRenderer.Field = "<NONE>"; pBreakRenderer.MinimumBreak = 0; pBreakRenderer.BreakCount = 0; if (_SymbologyStyleClass == esriSymbologyStyleClass.esriStyleClassFillSymbols) { pBreakRenderer.BackgroundSymbol = ModuleCommon.CreateSymbol(esriSymbologyStyleClass.esriStyleClassMarkerSymbols) as IFillSymbol; } else { pBreakRenderer.BackgroundSymbol = null; } return(pBreakRenderer as ESRI.ArcGIS.Carto.IFeatureRenderer); }
public CustomSymbology(esriSymbologyStyleClass enumStyle) { InitializeComponent(); axSymbologyControl.StyleClass = enumStyle; ///* 匹配器,匹配符号类型,整个结构该改成arcGIS自身的累距类型 switch (enumStyle) { case esriSymbologyStyleClass.esriStyleClassFillSymbols: whichSymbolType = SymbolType.FillSymbol; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: whichSymbolType = SymbolType.LineSymbol; break; case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: whichSymbolType = SymbolType.MarkerSymbol; break; case esriSymbologyStyleClass.esriStyleClassLegendItems: whichSymbolType = SymbolType.None; break; default: break; } }
private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass) { this.axSymbologyControl1.StyleClass = symbologyStyleClass; ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl1. GetStyleClass(symbologyStyleClass); if (this.pLegendClass != null) { IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem(); currentStyleGalleryItem.Name = "当前符号"; currentStyleGalleryItem.Item = pLegendClass.Symbol; pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0); this.pStyleGalleryItem = currentStyleGalleryItem; } pSymbologyStyleClass.SelectItem(0); }
private void axSymbologyControl_OnStyleClassChanged(object sender, ISymbologyControlEvents_OnStyleClassChangedEvent e) { object obj = e.symbologyStyleClass; ISymbologyStyleClass ssc = obj as ISymbologyStyleClass; esriSymbologyStyleClass ess = ssc.StyleClass; //switch ((esriSymbologyStyleClass)(e.symbologyStyleClass)) switch (ess) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: this.lblAngle.Visible = true; this.nudAngle.Visible = true; this.lblSize.Visible = true; this.nudSize.Visible = true; this.lblWidth.Visible = false; this.nudWidth.Visible = false; this.lblOutlineColor.Visible = false; this.btnOutlineColor.Visible = false; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: this.lblAngle.Visible = false; this.nudAngle.Visible = false; this.lblSize.Visible = false; this.nudSize.Visible = false; this.lblWidth.Visible = true; this.nudWidth.Visible = true; this.lblOutlineColor.Visible = false; this.btnOutlineColor.Visible = false; break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: this.lblAngle.Visible = false; this.nudAngle.Visible = false; this.lblSize.Visible = false; this.nudSize.Visible = false; this.lblWidth.Visible = true; this.nudWidth.Visible = true; this.lblOutlineColor.Visible = true; this.btnOutlineColor.Visible = true; break; } }
/// <summary> /// 根据符号样式类别显示不同的控件 /// </summary> /// <param name="eSymbologyStyleClass">符号样式类别枚举(点/线/面/标注/文本/指北针/比例尺等样式类别)</param> private void SetControlsVisible(esriSymbologyStyleClass eSymbologyStyleClass) { switch (eSymbologyStyleClass) { case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: panelAngle.Visible = panelSize.Visible = true; panelWidth.Visible = panelOutlineColor.Visible = false; break; case esriSymbologyStyleClass.esriStyleClassLineSymbols: panelAngle.Visible = panelSize.Visible = panelOutlineColor.Visible = false; panelWidth.Visible = true; break; case esriSymbologyStyleClass.esriStyleClassFillSymbols: panelAngle.Visible = panelSize.Visible = false; panelWidth.Visible = panelOutlineColor.Visible = true; break; } }
//构造器选择 //int FrmIndex = 0; public FrmSymbol(string[] symbolstyle, ISymbol symbol, esriSymbologyStyleClass styleClass) { InitializeComponent(); this.EnableGlass = false; SymbolStyle = symbolstyle; pStyleClass = styleClass; pSymbol = symbol; //Add by Liuzhaoqin,2013.11.16 axSymbologyControl.StyleClass = styleClass; ISymbologyStyleClass symbologyStyleClass = axSymbologyControl.GetStyleClass(styleClass); if (symbol != null) { pStyleGalleryItem = new ServerStyleGalleryItem(); pStyleGalleryItem.Item = symbol; pStyleGalleryItem.Name = "Current"; symbologyStyleClass.AddItem(pStyleGalleryItem, 0); symbologyStyleClass.SelectItem(0); } }
public IStyleGalleryItem GetItem(esriSymbologyStyleClass styleClass, ISymbol symbol) { this._styleGalleryItem = null; //Get and set the style class this._axSymCtrl.StyleClass = styleClass; ISymbologyStyleClass symbologyStyleClass = this._axSymCtrl.GetStyleClass(styleClass); //Create a new server style gallery item with its style set IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem(); styleGalleryItem.Item = symbol; styleGalleryItem.Name = "Current"; //Add the item to the style class and select it symbologyStyleClass.AddItem(styleGalleryItem, 0); symbologyStyleClass.SelectItem(0); //Show the modal form this.ShowDialog(); return this._styleGalleryItem; }
public GetSymbol(esriSymbologyStyleClass symStyleClass) { InitializeComponent(); styleClass = symStyleClass; }
private void SetFeatureClassStyle(esriSymbologyStyleClass styleClass, ISymbol symbol) { m_styleGalleryItem = null; //Get and set the style class m_axSymbologyControl.StyleClass = styleClass; ISymbologyStyleClass symbologyStyleClass = m_axSymbologyControl.GetStyleClass(styleClass); //Create a new server style gallery item with its style set IStyleGalleryItem styleGalleryItem = new ServerStyleGalleryItem(); styleGalleryItem.Item = symbol; styleGalleryItem.Name = "mySymbol"; //Add the item to the style class and select it symbologyStyleClass.AddItem(styleGalleryItem, 0); symbologyStyleClass.SelectItem(0); }
/// <summary> /// 初始化SymbologyControl的StyleClass,图层如果已有符号,则把符号添加到SymbologyControl中的第一个符号,并选中 /// </summary> /// <param name="symbologyStyleClass"></param> private void SetFeatureClassStyle(esriSymbologyStyleClass symbologyStyleClass) { this.axSymbologyControl.StyleClass = symbologyStyleClass; ISymbologyStyleClass pSymbologyStyleClass = this.axSymbologyControl.GetStyleClass(symbologyStyleClass); if (this.pLegendClass != null) { IStyleGalleryItem currentStyleGalleryItem = new ServerStyleGalleryItem(); currentStyleGalleryItem.Name = "当前符号"; currentStyleGalleryItem.Item = pLegendClass.Symbol; pSymbologyStyleClass.AddItem(currentStyleGalleryItem, 0); this.pStyleGalleryItem = currentStyleGalleryItem; } pSymbologyStyleClass.SelectItem(0); }