aicai
路人甲
路人甲
  • 注册日期2003-11-18
  • 发帖数191
  • QQ
  • 铜币740枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2597回复:9

AE中怎么实现圆选择的功能呢?

楼主#
更多 发布于:2005-04-10 21:57
框选择比较简单, 那圆形选择怎么实现呢? 是不是用ICircularArc,但是好像没有用呀,
喜欢0 评分0
万里云
路人甲
路人甲
  • 注册日期2005-01-14
  • 发帖数114
  • QQ
  • 铜币414枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-04-11 09:54
ICircularArc可以
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光 
举报 回复(0) 喜欢(0)     评分
suppergg
路人甲
路人甲
  • 注册日期2004-10-25
  • 发帖数60
  • QQ
  • 铜币256枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-04-11 15:09
为什么我的AE中没有ICircularArc接口?
举报 回复(0) 喜欢(0)     评分
cl991036
管理员
管理员
  • 注册日期2003-07-25
  • 发帖数5913
  • QQ14265545
  • 铜币29656枚
  • 威望213点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • GIS帝国铁杆
3楼#
发布于:2005-04-11 15:51
引用一下AE接口
没钱又丑,农村户口。头可断,发型一定不能乱。 邮箱:gisempire@qq.com
举报 回复(0) 喜欢(0)     评分
aicai
路人甲
路人甲
  • 注册日期2003-11-18
  • 发帖数191
  • QQ
  • 铜币740枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-04-12 19:44
<P> Dim pRubberBand As IRubberBand
                Dim pRubberBandGeometry As IGeometry
                Dim pPointCollection As IPointCollection
                pRubberBand = New RubberCircle
                pRubberBandGeometry = pRubberBand.TrackNew(m_pActiveView.ScreenDisplay, Nothing)</P>
<P>                Dim pGeom As IGeometry
                Dim pSegColl As ISegmentCollection
                Dim pPolygon As IPolygon
                pPolygon = New Polygon
                pSegColl = pPolygon</P>
<P>                pSegColl.AddSegment(pRubberBandGeometry)
                pGeom = pPolygon</P>
<P>                Dim pSpatialReference As ISpatialReference
                pSpatialReference = m_pMap.SpatialReference
                pGeom.SpatialReference = pSpatialReference</P>
<P>                m_pMap.SelectByShape(pGeom, Nothing, False)
                m_pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, m_pActiveView.Extent)
            </P>
举报 回复(0) 喜欢(0)     评分
zhazha
路人甲
路人甲
  • 注册日期2003-10-20
  • 发帖数58
  • QQ
  • 铜币317枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-04-14 11:17
<P>Dim pSearchCircle As IGeometry
Set pSearchCircle = New CircularArc</P>
<P>If selMethod = "circle" Then
     Set pSearchCircle = frmmain.MapControlDisp.TrackCircle
     Set pGeom = pSearchCircle

End If
If Not pGeom Is Nothing Then
    frmmain.MapControlDisp.Map.SelectByShape pGeom, pSelectionEnv, False
    acView.PartialRefresh esriViewGeoSelection, Nothing, Nothing
    End If
    </P>
无知者无畏
举报 回复(0) 喜欢(0)     评分
119zhao
路人甲
路人甲
  • 注册日期2007-05-11
  • 发帖数10
  • QQ
  • 铜币146枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2007-05-25 14:04
哥哥~  框选择咋选啊 ?教教我吧  555555555
举报 回复(0) 喜欢(0)     评分
119zhao
路人甲
路人甲
  • 注册日期2007-05-11
  • 发帖数10
  • QQ
  • 铜币146枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2007-05-25 14:07
还有点选择 ~~~~
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15947
  • QQ554730525
  • 铜币25339枚
  • 威望15364点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
8楼#
发布于:2007-05-26 09:19
<P>5楼的代码已经说明了如何选择啊</P>
<P>Dim pSpatialReference As ISpatialReference<BR>                pSpatialReference = m_pMap.SpatialReference<BR>                pGeom.SpatialReference = pSpatialReference</P>
<P>                m_pMap.SelectByShape(<STRONG>pGeom</STRONG>, Nothing, False)<BR>                m_pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, m_pActiveView.Extent)<BR></P>
<P>要实现不同的形状的选择方式,大家只要把<STRONG>pGeom这个参数改变一下就行,5楼的用是polygon,还可以是point,polyline等多种大家需要的形状</STRONG></P>
举报 回复(0) 喜欢(0)     评分
diligentpig
路人甲
路人甲
  • 注册日期2005-09-14
  • 发帖数47
  • QQ
  • 铜币277枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2007-05-27 11:46
<DIV class=quote><B>以下是引用<I>aicai</I>在2005-4-12 19:44:08的发言:</B><BR>
<P>Dim pRubberBand As IRubberBand<BR>                Dim pRubberBandGeometry As IGeometry<BR>                Dim pPointCollection As IPointCollection<BR>                pRubberBand = New RubberCircle<BR>                pRubberBandGeometry = pRubberBand.TrackNew(m_pActiveView.ScreenDisplay, Nothing)</P>
<P>                Dim pGeom As IGeometry<BR>                Dim pSegColl As ISegmentCollection<BR>                Dim pPolygon As IPolygon<BR>                pPolygon = New Polygon<BR>                pSegColl = pPolygon</P>
<P>                pSegColl.AddSegment(pRubberBandGeometry)<BR>                pGeom = pPolygon</P>
<P>                Dim pSpatialReference As ISpatialReference<BR>                pSpatialReference = m_pMap.SpatialReference<BR>                pGeom.SpatialReference = pSpatialReference</P>
<P>                m_pMap.SelectByShape(pGeom, Nothing, False)<BR>                m_pActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, Nothing, m_pActiveView.Extent)<BR>            </P></DIV>
<br>这个兄弟的应该是正解!<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部