best_lilin
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
阅读:3062回复:10

AO+VB:怎样实现特征的选择

楼主#
更多 发布于:2004-05-20 12:31
<P>我在用VB做AO,需要实现以下功能:点击工具栏中的按钮,在mapcontrol1控件中的地图上画矩形,可以选中矩形中的特征。</P>
<P>我在develeper help 中找到了area select task 的代码,但好象是什么.cls的,我不会用,谁能帮我改一下代码(如下),谢谢。</P><PRE><CODE>Option Explicit

Implements</CODE> IEditTask

<CODE>Private</CODE> m_pEditor <CODE>As</CODE> IEditor
<CODE>Private</CODE> m_pEditSketch <CODE>As</CODE> IEditSketch
<CODE>Private</CODE> m_pArcMapDoc <CODE>As</CODE> IMxDocument
<CODE>Private</CODE> m_pApp <CODE>As</CODE> IMxApplication
<CODE>Private</CODE> m_pMXApp <CODE>As</CODE> IMxApplication
            
<CODE>Private Sub</CODE> IEditTask_Activate(<CODE>ByVal</CODE> Editor <CODE>As</CODE> IEditor, <CODE>ByVal</CODE> oldTask <CODE>As</CODE> IEditTask)
  <CODE>Set</CODE> m_pEditor = Editor
  <CODE>Set</CODE> m_pEditSketch = Editor
  m_pEditSketch.GeometryType = esriGeometryPolygon
  <CODE>Set</CODE> m_pApp = Editor.Parent
  <CODE>Set</CODE> m_pMXApp = m_pApp <CODE>'QI</CODE>
<CODE>End Sub

Private Sub</CODE> IEditTask_Deactivate()

<CODE>End Sub

Private Property Get</CODE> IEditTask_Name() <CODE>As String</CODE>
  IEditTask_Name = "Custom Select Task"
<CODE>End Property

Private Sub</CODE> IEditTask_OnDeleteSketch()

<CODE>End Sub

Private Sub</CODE> IEditTask_OnFinishSketch()
  <CODE>Dim</CODE> pMap <CODE>As</CODE> IMap
  <CODE>Dim</CODE> pActiveView <CODE>As</CODE> IActiveView
  <CODE>Dim</CODE> pSelectionEnv <CODE>As</CODE> ISelectionEnvironment
  <CODE>Dim</CODE> pSearchGeo <CODE>As</CODE> IGeometry
  <CODE>Dim</CODE> pTopoOp <CODE>As</CODE> ITopologicalOperator
  
  <CODE>Set</CODE> pMap = m_pEditor.Map
  <CODE>Set</CODE> pActiveView = pMap <CODE>'QI</CODE>
  <CODE>Set</CODE> pSelectionEnv = m_pMXApp.SelectionEnvironment
  <CODE>Set</CODE> pSearchGeo = m_pEditSketch.Geometry
  <CODE>'Refresh old selection</CODE>
  pActiveView.PartialRefresh esriViewGeoSelection, <CODE>Nothing</CODE>, <CODE>Nothing
  Set</CODE> pTopoOp = pSearchGeo <CODE>'QI</CODE>
  pTopoOp.Simplify <CODE>'Close polygons</CODE>
  <CODE>'Do the Selection - SelectByShape automatically fires the SelectionChanged event</CODE>
  <CODE>'so there is no need for use to call IEditEvents::OnSelectionChanged</CODE>
  pMap.SelectByShape pSearchGeo, pSelectionEnv, <CODE>False</CODE>
  <CODE>'Refresh the new selection</CODE>
  pActiveView.PartialRefresh esriViewGeoSelection, <CODE>Nothing</CODE>, <CODE>Nothing
End Sub</CODE>

</PRE>
喜欢0 评分0
kimichen
路人甲
路人甲
  • 注册日期2006-03-23
  • 发帖数67
  • QQ150517388
  • 铜币185枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2006-10-09 16:04
<P>可以用 谢谢 </P><img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
kimichen
路人甲
路人甲
  • 注册日期2006-03-23
  • 发帖数67
  • QQ150517388
  • 铜币185枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2006-10-09 15:48
可以直接在AO调用吗
举报 回复(0) 喜欢(0)     评分
Demi2000
路人甲
路人甲
  • 注册日期2005-04-09
  • 发帖数17
  • QQ
  • 铜币175枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-05-09 22:15
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
举报 回复(0) 喜欢(0)     评分
ahshegis
路人甲
路人甲
  • 注册日期2004-10-22
  • 发帖数181
  • QQ
  • 铜币847枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2004-11-10 20:40
<img src="images/post/smile/dvbbs/em05.gif" />
举报 回复(0) 喜欢(0)     评分
wrbwf
路人甲
路人甲
  • 注册日期2003-12-01
  • 发帖数944
  • QQ
  • 铜币2516枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2004-11-07 15:59
<img src="images/post/smile/dvbbs/em02.gif" />
举报 回复(0) 喜欢(0)     评分
gaonall
路人甲
路人甲
  • 注册日期2004-10-26
  • 发帖数15
  • QQ
  • 铜币157枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2004-11-06 10:23
请问你这个是不是在arcview下的程序,如果在arcengine里面怎么编写呢?
举报 回复(0) 喜欢(0)     评分
nkjoyboy
路人甲
路人甲
  • 注册日期2004-06-06
  • 发帖数114
  • QQ
  • 铜币447枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2004-10-29 16:10
<P>看得我好费劲啊。</P><P><img src="images/post/smile/dvbbs/em05.gif" /></P><img src="images/post/smile/dvbbs/em05.gif" />
做人要厚道
举报 回复(0) 喜欢(0)     评分
liboje
路人甲
路人甲
  • 注册日期2004-01-07
  • 发帖数27
  • QQ
  • 铜币246枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2004-10-28 20:13
<img src="images/post/smile/dvbbs/em03.gif" />
举报 回复(0) 喜欢(0)     评分
best_lilin
  • 注册日期
  • 发帖数
  • QQ
  • 铜币
  • 威望
  • 贡献值
  • 银元
9楼#
发布于:2004-05-20 16:56
<P>可以运行 !!!</P><P>太谢谢了</P>
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部