欢迎来到天天文库
浏览记录
ID:37779324
大小:69.50 KB
页数:9页
时间:2019-05-31
《第七讲 图层符号选择器的实现2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《ArcGISEngine+C#实例开发教程》第七讲图层符号选择器的实现2时间:2009-04-1901:54:07来源:3SDN.Net作者:3SDN原创点击量:363u版权声明:《ArcGISEngine+C#实例开发教程》为3SDN(http://www.3sdn.net)原创教程,作者闲云野鹤,版权所有。禁止商业用途转载(如需请联系作者),非商业用途转载请注明出处并完整保留本声明。u读者对象:使用C#开发ArcGISEngine(以下简称AE)的初学者。u预备知识:了解AE基本体系,了解C#基本语法,了解VS2005的基本使用方法。u预期学习效果:进一步理解AE的体系结
2、构与开发方法,掌握基本的GIS桌面应用程序的开发。在第七讲图层符号选择器的实现的第一阶段中,我们完成了符号选择器窗体的创建与调用。在第二阶段中,我们继续完成符号参数的调整与“更多符号”的加载。2.6符号参数调整在地图整饰中,符号参数的调整是必须的功能。下面我们将实现符号颜色、外框颜色、线宽、角度等参数的调整。(1)添加SymbologyControl的OnItemSelected事件,此事件在鼠标选中符号时触发,此时显示出选定符号的初始参数,事件响应函数代码如下://////选中符号时触发的事件//////3、r">///privatevoidaxSymbologyControl_OnItemSelected(objectsender,ESRI.ArcGIS.Controls.ISymbologyControlEvents_OnItemSelectedEvente){pStyleGalleryItem=(IStyleGalleryItem)e.styleGalleryItem;Colorcolor;switch(this.axSymbologyControl.StyleClass){//点符号caseesriSymbolo4、gyStyleClass.esriStyleClassMarkerSymbols:color=this.ConvertIRgbColorToColor(((IMarkerSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);//设置点符号角度和大小初始值this.nudAngle.Value=(decimal)((IMarkerSymbol)this.pStyleGalleryItem.Item).Angle;this.nudSize.Value=(decimal)((IMarkerSymbol)this.pStyleGalleryI5、tem.Item).Size;break;//线符号caseesriSymbologyStyleClass.esriStyleClassLineSymbols:color=this.ConvertIRgbColorToColor(((ILineSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);//设置线宽初始值this.nudWidth.Value=(decimal)((ILineSymbol)this.pStyleGalleryItem.Item).Width;break;//面符号caseesriSymbologyStyleC6、lass.esriStyleClassFillSymbols:color=this.ConvertIRgbColorToColor(((IFillSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);this.btnOutlineColor.BackColor=this.ConvertIRgbColorToColor(((IFillSymbol)pStyleGalleryItem.Item).Outline.ColorasIRgbColor);//设置外框线宽度初始值this.nudWidth.Value=(decimal)((IFi7、llSymbol)this.pStyleGalleryItem.Item).Outline.Width;break;default:color=Color.Black;break;}//设置按钮背景色this.btnColor.BackColor=color;//预览符号this.PreviewImage();}(2)调整点符号的大小添加nudSize控件的ValueChanged事件,即在控件的值改变时响应此事件,然后重新设置点符号的大小。代码如下://////调整符号大
3、r">///privatevoidaxSymbologyControl_OnItemSelected(objectsender,ESRI.ArcGIS.Controls.ISymbologyControlEvents_OnItemSelectedEvente){pStyleGalleryItem=(IStyleGalleryItem)e.styleGalleryItem;Colorcolor;switch(this.axSymbologyControl.StyleClass){//点符号caseesriSymbolo
4、gyStyleClass.esriStyleClassMarkerSymbols:color=this.ConvertIRgbColorToColor(((IMarkerSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);//设置点符号角度和大小初始值this.nudAngle.Value=(decimal)((IMarkerSymbol)this.pStyleGalleryItem.Item).Angle;this.nudSize.Value=(decimal)((IMarkerSymbol)this.pStyleGalleryI
5、tem.Item).Size;break;//线符号caseesriSymbologyStyleClass.esriStyleClassLineSymbols:color=this.ConvertIRgbColorToColor(((ILineSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);//设置线宽初始值this.nudWidth.Value=(decimal)((ILineSymbol)this.pStyleGalleryItem.Item).Width;break;//面符号caseesriSymbologyStyleC
6、lass.esriStyleClassFillSymbols:color=this.ConvertIRgbColorToColor(((IFillSymbol)pStyleGalleryItem.Item).ColorasIRgbColor);this.btnOutlineColor.BackColor=this.ConvertIRgbColorToColor(((IFillSymbol)pStyleGalleryItem.Item).Outline.ColorasIRgbColor);//设置外框线宽度初始值this.nudWidth.Value=(decimal)((IFi
7、llSymbol)this.pStyleGalleryItem.Item).Outline.Width;break;default:color=Color.Black;break;}//设置按钮背景色this.btnColor.BackColor=color;//预览符号this.PreviewImage();}(2)调整点符号的大小添加nudSize控件的ValueChanged事件,即在控件的值改变时响应此事件,然后重新设置点符号的大小。代码如下://////调整符号大
此文档下载收益归作者所有