阅读:1268回复:0
在TrackingLayer中画线
<P>请大家帮忙看看我的代码有什么问题?为什么线总是画不出来呢?</P>
<P>CMainFrame* pframe=(CMainFrame*)AfxGetMainWnd(); CMapView* pview=(CMapView*)pframe->GetActiveView(); CMoTrackingLayer tl;</P> <P>tl=pview->m_MapDisp.GetTrackingLayer(); tl.SetSymbolCount(1); tl.GetSymbol(0).SetSymbolType(moLineSymbol); tl.GetSymbol(0).SetStyle(moSolidLine); tl.GetSymbol(0).SetColor(color); tl.GetSymbol(0).SetSize(1); CMoLine line; CMoPoint pt; CMoPoints pts; CMoParts parts; VERIFY(line.CreateDispatch(TEXT("MapObjects2.Line"))); VERIFY(pt.CreateDispatch(TEXT("MapObjects2.Point"))); VERIFY(pts.CreateDispatch(TEXT("MapObjects2.Points")));</P> <P>pt.SetX(m_fCtlXmin); pt.SetY(m_fCtlYmin); pts.Add(pt); pt.SetX(m_fCtlXmax); pt.SetY(m_fCtlYmax); pts.Add(pt);</P> <P>parts=line.GetParts(); parts.Add(pts); if(LPDISPATCH(line)) tl.AddEvent(line,0);</P> <P>pview->m_MapDisp.Refresh();</P> |
|