xhgis
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数88
  • QQ
  • 铜币176枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2221回复:3

[原创]请教各位vc+ae中任意多边形选择要素的问题,附源码!

楼主#
更多 发布于:2008-10-12 16:47
<P>我想用任意画的多边形选择图中元素,为什么运行之后什么都没有显示啊,或者说没有效果。请各位看看下面的代码有什么问题。非常感谢。</P>
<P>IActiveViewPtr ipActiveView;  <BR> CMainFrame *pFrame=(CMainFrame*)AfxGetApp()->m_pMainWnd;<BR> m_ipMapCtrl->get_ActiveView(;ipActiveView);</P>
<P><BR>  IGeometryPtr ipGeom;<BR>   IPolygon3Ptr ipPgon=NULL;<BR>  ipPgon=m_mapCtrl.TrackPolygon();<BR>  ipGeom=ipPgon;</P>
<P>  ISpatialFilterPtr ipSpatialFit(CLSID_SpatialFilter);<BR>  ipSpatialFit->putref_Geometry(ipGeom);<BR>  m_ipMap->SelectByShape(ipGeom,NULL,false);<BR>  ipActiveView->Refresh();</P>
喜欢0 评分0
xhgis
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数88
  • QQ
  • 铜币176枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-10-12 17:52
<DIV>没有任何的高亮显示,而且为空,请问是什么问题啊,谢谢。</DIV>
举报 回复(0) 喜欢(0)     评分
wheroy
路人甲
路人甲
  • 注册日期2004-09-04
  • 发帖数159
  • QQ
  • 铜币251枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2008-10-12 18:06
<P>m_ipMap->SelectByShape(ipGeom,NULL,false);<BR>第二个参数 为 SelectionEnvironment 不能为NULL</P>
举报 回复(0) 喜欢(0)     评分
xhgis
路人甲
路人甲
  • 注册日期2003-08-01
  • 发帖数88
  • QQ
  • 铜币176枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2008-10-12 21:32
<P>多谢楼上老兄回复,这个问题已经解决,正确代码贡献出来。见下面的代码。</P>
<P>另外一个问题就是我选择的这些要素是处于多个图层里面的,我如何获得选中的所有要素的选择集,并且如何知道哪个要是是哪个图层里面的,以及如何获取到他们的属性信息并显示出来啊。请高人指点。谢谢。</P>
<P>正确代码: </P>
<P>   IGeometryPtr ipGeom;<BR>  //IPolygon3Ptr ipPgon=NULL;<BR>  //ipPgon=m_mapCtrl.TrackPolygon();<BR>  ipGeom=m_mapCtrl.TrackPolygon();//ipPgon;<BR>  </P>
<P>  IMapPtr ipMap;<BR>//  m_ipMapCtrl->get_Map(;ipMap);<BR>  ipMap=m_mapCtrl.GetMap();<BR>  ISpatialFilterPtr ipSpatialFit(CLSID_SpatialFilter);<BR>  ipSpatialFit->putref_Geometry(ipGeom);<BR>  ISelectionEnvironmentPtr ipSelEnvir(CLSID_SelectionEnvironment);<BR>  ipMap->SelectByShape(ipGeom,ipSelEnvir,VARIANT_FALSE);<BR>  IActiveViewPtr ipAV(ipMap);<BR>  ipAV->Refresh();</P>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部