[ArcGIS Engine][MFC/VS2008]判断图层是点图层、线图层还是面图层的方法
2015-01-15 14:19
113 查看
在图层上做图之前,必须先了解需要做图的图层是属于点图层、线图层还是面图层,以便绘上相应的对象。要知道,我们无法在点图层画线,也无法在线图层画多边形。判断图层类型的方法很简单,主要用到IFeatureClassPtr接口的get_ShapeType方法,下面直接上代码:
转载于:http://celerysoft.blog.163.com/blog/static/213525082201499103324297/
//对话框的MapControl的变量名为m_MapCtrl。 HRESULT hr = 0; ILayerPtr pILayer = m_MapCtrl.get_Layer(0); IFeatureLayerPtr pIFeatureLayer = (IFeatureLayerPtr)pILayer; IFeatureClassPtr pIFeatureClass; hr = pIFeatureLayer->get_FeatureClass(&pIFeatureClass); esriGeometryType LayarShapeType; pIFeatureClass->get_ShapeType(&LayarShapeType); if(LayarShapeType == esriGeometryPoint) { MessageBox(_T("Layer of point")); } else if(LayarShapeType == esriGeometryMultipoint) { MessageBox(_T("Layer of multipoint")); } else if(LayarShapeType == esriGeometryPolyline) { MessageBox(_T("Layer of polyline")); } else if(LayarShapeType == esriGeometryMultiPatch) { MessageBox(_T("Layer of multiPatch")); } else if(LayarShapeType == esriGeometryPolygon) { MessageBox(_T("Layer of polygon")); }
转载于:http://celerysoft.blog.163.com/blog/static/213525082201499103324297/
相关文章推荐
- 判断DB启动时使用的是spfile还是pfile的方法
- 判断当前Windows XP操作系统是32位还是64位的方法
- C#判断操作系统是32位还是64位的方法
- C#中几种可以判断是值类型还是引用类型的方法
- asp.net 或JSP 判断是手机还是电脑访问网站的可靠方法
- 如何判断一个网页是刷新还是关闭的方法。
- 【转】 判断多边形的方向是顺时针还是逆时针的一种方法
- MFC的View子类中判断当前view是否是活动的方法
- 判断自己机子是32位还是64位的方法
- VS2008开发的MFC程序,静态连接的方法
- 判断iPhone 拍摄的相机是横拍还是纵拍的方法
- 关于如何判断网页是静态还是伪静态的方法——本文来自雅致生活网『www.yzsh0514.com』原帖地址:http://www.yzsh0514.com/bbs/viewthread.php?tid==0
- [ZZ]在MFC中有多个slider时OnHScroll函数判断方法
- vc6.0或者vs2008 MFC程序采用console输出调试信息的方法
- 判断是页面刷新还是关闭的一个方法
- 判断字符还是数字的方法。
- MFC在VS2008中对ActiveX控件添加方法
- VS2008中 如果类的虚方法为inline,在其中typeid(*this) == typeid(CDerive)之类的语句判断会出错
- 用VS2008进行MFC编程时添加变量出现脚本错误的解决方法
- 在php中判断一个请求是ajax请求还是普通请求的方法