阅读:1652回复:1
求救高手 ao绘图 vc+ao drawshape函数 如何把一些点生成直线
<P>请大家帮个忙</P>
<P> 我从数据库中读出一些点 我想把它在AO(vc+ao)中自动生成线显示出来 该怎么办呢 我试着用drawshape函数 </P> <P>不知是不是这样 应该怎样做 请高手指点 谢谢 </P> |
|
1楼#
发布于:2008-05-29 23:05
<P> CPoint m_Point;</P>
<P> IActiveViewPtr iActiveView(m_ipMap);<BR> IScreenDisplayPtr ipScreenDisplay;<BR> iActiveView->get_ScreenDisplay(;ipScreenDisplay);<BR> IGeometryPtr ipGeom;<BR> IElementCollectionPtr m_ipelementcollection(CLSID_ElementCollection);<BR> long a;<BR> HRESULT hr;<BR> m_ipMapControl->get_LayerCount(;a);<BR> IScreenDisplayPtr pScrD;<BR> iActiveView->get_ScreenDisplay(;pScrD);<BR> if(pScrD==NULL) return;<BR> IPointPtr ipPoint(CLSID_Point);<BR> if(ipPoint==NULL) return;<BR> <BR> <BR> IRgbColorPtr prgb(CLSID_RgbColor);<BR> prgb->put_Red(0);<BR> prgb->put_Green(205);<BR> prgb->get_Blue(0);<BR> IColorPtr icolor(prgb);<BR> IGeometryPtr iGeometry;<BR> <BR> <BR> while(!m_pRs->EndOfFile)<BR> {<BR> m_Point.x=m_pRs->GetCollect("LAT");<BR> m_Point.y=m_pRs->GetCollect("LON");<BR> ipPoint->put_X(m_Point.x);<BR> ipPoint->put_Y(m_Point.y);<BR> if(m_pNewLineFeedback==NULL)<BR> {<BR> CoCreateInstance(CLSID_NewLineFeedback,0,CLSCTX_ALL,<BR> IID_INewLineFeedback,(void**);m_pNewLineFeedback);<BR> ISymbolPtr isymbol;<BR> if(m_pNewLineFeedback==NULL) return;<BR> m_pNewLineFeedback->get_Symbol(;isymbol);<BR> ISimpleLineSymbolPtr pslnsym(isymbol);<BR> if(pslnsym==NULL) return;<BR> pslnsym->put_Color(icolor);<BR> pslnsym->put_Style(esriSLSDot);<BR> m_pNewLineFeedback->putref_Display(pScrD);<BR> m_pNewLineFeedback->Start(ipPoint);<BR> //m_pNewLineFeedback->MoveTo(ipPoint);<BR> <BR> }<BR> else <BR> { <BR> <BR> <STRONG> m_pNewLineFeedback->MoveTo(ipPoint);<BR> <BR> m_pNewLineFeedback->AddPoint(ipPoint);<BR> iActiveView->Refresh();</STRONG><BR> <BR> }</P> <P> <BR> m_pRs->MoveNext();<BR> }</P> <P>研究了一下 还是有问题 黑体部分是显示线的 为什么显示不出来呢 郁闷啊 哪位兄弟来帮帮我呀</P> |
|