ArcEngine开发代码集合.docVIP

  • 109
  • 0
  • 约11.93万字
  • 约 117页
  • 2015-07-31 发布于河南
  • 举报
ArcEngine开发代码集合.doc

c#制作Symbol选择对话框 现在要实现双击toccontrol中的某一层的symbol调出symbol选择对话框.vb中有示例实现了类似于arcmap中的symbol选择对话框,用到了ISymbolSelector接口. 你看的是AO的例子,在ENGINE中是没有这个接口的,不过这个例子转换成C#的代码如下: private void axTOCCtl_OnDoubleClick(object sender, ESRI.ArcGIS.TOCControl.ITOCControlEvents_OnDoubleClickEvent e) ??{ ?? IBasicMap map = null; ?? object pOther = null; ?? object index = null; ?? if (e.button==1) ?? { ????m_TOCControl.HitTest(e.x, e.y, ref m_TocItem, ref map, ref m_TocLayer, ref pOther, ref index); ????System.Drawing.Point pos=new System.Drawing.Point(e.x,e.y); ????if (this.m_TocItem == esriTOCControlItem.esriTOCControlItemLegendClass) ????{ ???? ESRI.ArcGIS.Carto.ILegendClass pLC=new LegendClassClass(); ???? ESRI.ArcGIS.Carto.ILegendGroup pLG=new LegendGroupClass(); ???? if(pOther is ILegendGroup) ???? { ??????pLG=(ILegendGroup)pOther; ???? } ???? pLC=pLG.get_Class((int)index); ???? ISymbol pSym; ???? pSym=pLC.Symbol; ???? ESRI.ArcGIS.DisplayUI.ISymbolSelector pSS=new ESRI.ArcGIS.DisplayUI.SymbolSelectorClass(); ???? bool bOK=false; ???? pSS.AddSymbol(pSym); ???? bOK=pSS.SelectSymbol(0); ???? if (bOK) ???? { ??????pLC.Symbol=pSS.GetSymbolAt(0); ???? } ???? this.axMapCtl.ActiveView.Refresh(); ???? this.axTOCCtl.Refresh(); ????} ?? } ??} 那么在c#中怎么实现呢?有相应的接口吗? 如何实现在MAP空间里选择一块区域打印 如何实现在MAP空间里选择一块区域打印?用ARCENGINE里的对象实现,大家都来说说啊 把选择的区域对每一个图层做区域切割进保存为shap文件在本地. 在对每一个图层做shap文件保存的时候,同时把保存好的shap文件用本地文件的方式加载到一个MapControl控件(或者其它控件,我是自己用PictureBox来显示地图的). 然后通过控件把显示的地图数据打印出来就可以了. 其中对图层进行切割的代码如下: ‖================================================= ‖TrimFeatureClass2ShpFile:??裁剪到shape文件 ‖ ‖pFC:????????????????裁剪的实体类 ‖pPolygon:?????????? 裁剪的范围 ‖strShpFileName:???? 输出的shape文件名 ‖bShowProgress:??????是否显示进度条 ‖pTrimedFeatureClass:输出的FeatureClass ‖返回:输出的FeatureClass,nothing - 失败 ‖================================================= Public Function TrimFeatureClass2ShpFile(pFC As esriGeoDatabase.IFeatureClass, pPolygon As esriGeometry.IPolygon, strShpFileName As String, bShowProgress As Boolean) As esriGeoDatabase.IFeatureCl

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档