阅读:1861回复:2
大伙瞧瞧怎么就没选中任何元素呢
<P>下面是个选择地图要素的代码,但是在加粗部分怎么就没选中任何元素呢?为什么选不中?兄弟姐妹帮个忙!</P>
<P>private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)<br> {<br> IEnumElement enumEmt;<br> IGraphicsContainer pGC;<br> IGraphicsContainerSelect PGCS;<br> IRubberBand rubBand = new RubberEnvelopeClass();<br> IEnvelope env;</P> <P> pGC = (IGraphicsContainer)axMapControl1.Map;<br> PGCS = (IGraphicsContainerSelect)axMapControl1.Map;<br> env = (IEnvelope)rubBand.TrackNew(axMapControl1.ActiveView.ScreenDisplay, null);<br> PGCS.UnselectAllElements();</P> <P><br> if (env != null)<br> {<br> <STRONG>enumEmt = pGC.LocateElementsByEnvelope(env);</STRONG></P> <P> }<br> else<br> {<br> IPoint p;<br> p = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y);<br> <STRONG>enumEmt = pGC.LocateElements(p, 10);</STRONG><br> }</P> <P><br> if (enumEmt != null)<br> {<br> PGCS.UnselectAllElements();<br> enumEmt.Reset();<br> PGCS.SelectElements(enumEmt);<br> }<br> axMapControl1.ActiveView.Refresh();</P> <P> }</P> |
|
1楼#
发布于:2007-05-10 23:57
你这个例子应该是选择element对象的
|
|
|
2楼#
发布于:2007-05-11 14:03
<P>对了</P>
<P>但是在执行过程中,<STRONG>enumEmt(</STRONG>element对象<STRONG>)怎么搞就是没东西,为NULL.不知道错在那里!</STRONG></P> |
|