|
阅读:1263回复:0
AO中选择要素
<P>希望实现在MapControl上拖出一个矩形框选择要素,代码如下:<BR>void CShapefile2View::OnOnMouseDownMapcontrol1(long button, long shift, long X, long Y, double mapX, double mapY) <BR>{<BR> // TOD Add your control notification handler code here<BR> switch(m_operate)<BR> {<BR> case IDM_SELECT:<BR> {<BR> IActiveViewPtr ipView(m_ipMap);<BR> IEnvelopePtr ipEnvelope;<BR> ipEnvelope=m_MapControl.TrackRectangle();</P>
<P> IGraphicsContainerPtr ipGraphicsContainer(m_ipMap);<BR> IGraphicsContainerSelectPtr ipGCS(m_ipMap);<BR> VARIANT_BOOL isEmpty;<BR> ipEnvelope->get_IsEmpty(;isEmpty);<BR> if(isEmpty) return;<BR> IEnumElementPtr ipEnumElement;<BR> ipGraphicsContainer->LocateElementsByEnvelope(ipEnvelope,;ipEnumElement);<BR> if(ipEnumElement==NULL) <BR> {<BR> MessageBox("Nothing to be Selected!");<BR> return;<BR> }<BR> else<BR> {<BR> ipGCS->UnselectAllElements();<BR> ipEnumElement->Reset();<BR> ipGCS->SelectElements(ipEnumElement);<BR> ipView->Refresh();<BR> }<BR> }<BR> break;<BR> default:<BR> break;<BR> }<BR>}<BR>为何选择后总是出现"Nothing to be Selected!"?请帮帮忙,谢谢.</P> |
|