wuyue521_0
路人甲
路人甲
  • 注册日期2006-06-22
  • 发帖数47
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:2389回复:7

请教:怎么写圆形和矩形来选择图元?

楼主#
更多 发布于:2006-06-28 19:09
<P align=left>利用point,polyline,polygon来选择图元我写好了,不过circle和rectangle不知道怎么写,请高手指点</P>
<P align=left> </P>
喜欢0 评分0
wuyue521_0
路人甲
路人甲
  • 注册日期2006-06-22
  • 发帖数47
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-06-29 12:34
<P>这个还没解决呀</P>
<P>偶顶上去,高手帮忙呀</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2006-06-29 15:54
<PRE>这个是arcmap里的例子,改改就可以用了</PRE><PRE> </PRE><PRE>Private Sub UIToolControl1_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long)

Dim pMxApp As IMxApplication
Set pMxApp = Application
Dim pMxDoc As IMxDocument
Set pMxDoc = Application.Document
Dim pCenter As IPoint
Set pCenter = pMxDoc.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y)

Dim pCArc As ICircularArc
Set pCArc = CreateCArcFull(pCenter, 200, True)

Dim pSegmentCollection As ISegmentCollection
Set pSegmentCollection = New Polygon
pSegmentCollection.AddSegment pCArc
Dim pPolygon As IPolygon
Set pPolygon = pSegmentCollection
pPolygon.Close

pMxDoc.FocusMap.SelectByShape pSegmentCollection, pMxApp.SelectionEnvironment, False
pMxDoc.ActiveView.Refresh
End Sub

Private Function CreateCArcFull(pCPoint As IPoint, Radius As Double, _
                                IsCCW As Boolean) As ICircularArc
   Dim pConstCArc As IConstructCircularArc
   Set pConstCArc = New CircularArc
   pConstCArc.ConstructCircle pCPoint, Radius, IsCCW
   Set CreateCArcFull = pConstCArc
End Function</PRE>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
wuyue521_0
路人甲
路人甲
  • 注册日期2006-06-22
  • 发帖数47
  • QQ
  • 铜币272枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2006-06-29 20:17
<PRE>Dim pMxApp As IMxApplication<BR>Set pMxApp = Application<BR>Dim pMxDoc As IMxDocument<BR>Set pMxDoc = Application.Document<BR>--------</PRE><PRE>这几句该如何改呢?</PRE>
举报 回复(0) 喜欢(0)     评分
xgr541
路人甲
路人甲
  • 注册日期2004-03-04
  • 发帖数2
  • QQ
  • 铜币136枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2006-10-27 10:40
<DIV class=quote><B>以下是引用<I>wuyue521_0</I>在2006-6-29 20:17:11的发言:</B><BR><PRE>Dim pMxApp As IMxApplication<BR>Set pMxApp = Application<BR>Dim pMxDoc As IMxDocument<BR>Set pMxDoc = Application.Document<BR>--------</PRE><PRE>这几句该如何改呢?</PRE></DIV>
<P>
<P>set pmap=mapcontrol1.map</P>
<P>前面的全部删除即可.</P>
举报 回复(0) 喜欢(0)     评分
万里云
路人甲
路人甲
  • 注册日期2005-01-14
  • 发帖数114
  • QQ
  • 铜币414枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2006-10-27 15:45
<P>最简单的方法</P>
<P>mapcontrol1.trackrectangle</P>
女口果人尔能看日月白这段言舌,那言兑日月人尔白勺目艮目青有严重白勺散光 
举报 回复(0) 喜欢(0)     评分
chenjunfc
外卖仔
外卖仔
  • 注册日期2003-08-14
  • 发帖数58
  • QQ283832077
  • 铜币452枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2006-10-30 17:11
你先构建一个圆形的区域,把它传给geometry,可以借监楼上的方法.
举报 回复(0) 喜欢(0)     评分
hsghxm
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数517
  • QQ4604052
  • 铜币1枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2006-10-30 17:41
楼上有道理
MSN:hsghxm@163.com QQ:4604052 (很少用,最好别加) Email:hsghxm@163.com 我的BOLG:http://www.gisempire.com/blog/user1/864/index.htm
举报 回复(0) 喜欢(0)     评分
游客

返回顶部