|
阅读:1114回复:2
请问用我自己给的坐标怎么在mapx上画线啊?代码如下
<P>void CAUTOCADTranslateView::DrawLine(float x1,float y1,float x2,float y2)
{ CMapXFeature f; CMapXLayer lyr; CMapXPoints pts; CMapXPoint pt; CMapXStyle style; COleVariant vpts; COleVariant vstyle; double mx1,my1,mx2,my2; pts.CreateDispatch(pts.GetClsid()); pt.CreateDispatch(pt.GetClsid()); pts.Add (pt); pt.Set(mx1,my1); pts.Add (pt); pt.Set(mx2,my2); pts.Add (pt);</P> <P> vpts.vt = VT_DISPATCH; vpts.pdispVal = pts.m_lpDispatch; vpts.pdispVal->AddRef();</P> <P> style=m_ctrlMapx.GetDefaultStyle(); vstyle.vt = VT_DISPATCH; vstyle.pdispVal = style.m_lpDispatch; vstyle.pdispVal->AddRef();</P> <P> lyr=m_ctrlMapx.GetLayers().Item(1); //f=m_ctrlMapx.GetFeatureFactory().CreateLine(vpts,vstyle); f=m_ctrlMapx.GetFeatureFactory().CreateRegion(vpts,vstyle); lyr.AddFeature (f); }其中坐标x1,y1,x2,y2由自己给定,可是画出来的直线是水平的,还应该怎么做啊?谢谢 </P><img src="images/post/smile/dvbbs/em12.gif" /> |
|
|
1楼#
发布于:2004-09-22 20:52
<P>你确认你给得坐标没有超出你给定得地图坐标系得范围吗?
</P> |
|
|
2楼#
发布于:2004-10-10 06:13
study
|
|