阅读:2704回复:9
ISelection下的方法是不是只能在ArcMap下用啊?
<P>我在用VB+AO开发,发现调用ISelection下的方法没有效果,相反在ArcMap的VBA环境下调用就可以,是不是AO在这方面有所限制阿?</P>
|
|
|
1楼#
发布于:2004-05-17 16:30
<P>不知道你是不是指:ISelectionset;应该是没有问题的啊!</P><P>你可以把代码发上来,以及指出出现问题的地方</P>
|
|
|
2楼#
发布于:2004-05-17 16:51
<P>不是吧,最好把代码贴出来看看问题在哪里哦!</P><img src="images/post/smile/dvbbs/em02.gif" />
|
|
|
3楼#
发布于:2004-05-17 16:55
<P>这里是代码,请大家指教</P><P>Public Sub Cut()
Dim pMap As IMap Dim pFeature As ISelection Set pMap = MapControl1.Map Set pFeature = pMap.FeatureSelection pFeature.Cut End Sub</P> |
|
|
4楼#
发布于:2004-05-17 16:57
<P>这是我在ArcMap下调用的函数</P>
<P>Public Sub Cut() Dim mxmap As IMxDocument Set mxmap = Application.Document mxmap.FocusMap.FeatureSelection.Cut End Sub </P> <P>地图中选中了一个feature,分别调用以上2个函数,前面的没有反应,后面的则正确执行了剪切...</P> [此贴子已经被作者于2004-5-17 16:59:01编辑过]
|
|
|
5楼#
发布于:2004-05-18 09:06
<P>如果你想剪切FeatureSelection</P><P>try this one:</P><P>Dim pfs As IFeatureSelection
Set pfs = Mapcontrol1.Layer(0) 'QI Dim ps As ISelectionSet Set ps = pfs.SelectionSet</P><P>Dim pfc As IFeatureCursor ps.Search Nothing, ture, pfc</P><P>Dim pf As IFeature Set pf = pfc.NextFeature While Not pf Is Nothing pf.Delete Set pf = pfc.NextFeature Wend</P> |
|
|
6楼#
发布于:2004-05-18 09:28
<P>tkisssy版主</P><P>pf.Delete不是把该要素删除了吗?怎么实现剪切呢?剪切是剪切到ClipBoard的意思吧~</P>
|
|
|
7楼#
发布于:2004-05-18 13:46
Sorry 只会Delete,不过我觉得剪切不太实际吧,放到ClipBoard后,要粘贴Feature的时候,其它属性都好办,Shape属性怎么办?
|
|
|
8楼#
发布于:2004-05-19 09:57
谢谢斑竹~
|
|
|
9楼#
发布于:2004-05-22 10:04
6楼,这样操作不知您有没有试过,执行后,会消失很多没有选中的Feature,地图刷新那些Feature也不会显示,当再次打开地图时这些消失的Feature才会显示。
|
|