阅读:3057回复:10
AO+VB:怎样实现特征的选择
<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> |
|
1楼#
发布于:2006-10-09 16:04
<P>可以用 谢谢 </P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
2楼#
发布于:2006-10-09 15:48
可以直接在AO调用吗
|
|
3楼#
发布于:2005-05-09 22:15
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
|
|
4楼#
发布于:2004-11-10 20:40
<img src="images/post/smile/dvbbs/em05.gif" />
|
|
5楼#
发布于:2004-11-07 15:59
<img src="images/post/smile/dvbbs/em02.gif" />
|
|
6楼#
发布于:2004-11-06 10:23
请问你这个是不是在arcview下的程序,如果在arcengine里面怎么编写呢?
|
|
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" />
|
|
|
8楼#
发布于:2004-10-28 20:13
<img src="images/post/smile/dvbbs/em03.gif" />
|
|
9楼#
发布于:2004-05-20 16:56
<P>可以运行 !!!</P><P>太谢谢了</P>
|
|
上一页
下一页