阅读:2840回复:6
新,老手一起讨论下CreateLine函数.
<P>最近在用VC2003下做Mapx的二次开发的一个程序</P>
<P>用到了画线功能,原想只要知道两点的坐标,就可以画出线.</P> <P>可在调用CreateLine函数后,发现CreateLine是个画流水线的函数.</P> <P>因为点的坐标要从数据库调用,也就是说有point1,point2,point3.point4.........N个点全加入到一个point的点集中.,原想着只在1和2点,3和4点.........之间画线,</P> <P>可在调用CreatLine后,发现画出来的不是想像中的那样,却是1和2,2和3,3和4.......这样的线.</P> <P>不知道各位开发者们,有没有这方面的问题,一起讨论下.</P> <P>如何才能画出,我想要的那种线.</P> <P>有这方面的高手了,还请教教.先谢谢了.</P> |
|
1楼#
发布于:2007-10-08 10:04
这段代码不能画线哇
|
|
2楼#
发布于:2007-08-24 10:46
VB 里面怎么划线啊 我画出流水线后鼠标一松手就没有了
|
|
3楼#
发布于:2007-08-02 00:55
<P>找到了个,</P>
<P>看看吧</P> <P><BR>CMapXFeatureFactory cFactory;<BR>CMapXLayer layer;<BR>//<BR>cFactory=m_ctrlMapX.GetFeatureFactory();<BR>if(m_btext==FALSE)<BR> {<BR> layer=m_ctrlMapX.GetLayers().CreateLayer("TextLayer");<BR> m_btext=TRUE;<BR> }<BR> else<BR> layer=m_ctrlMapX.GetLayers().Item("TextLayer");<BR>//画线<BR>CMapXPoints pts1;<BR>pts1.CreateDispatch(pts1.GetClsid());<BR>pts1.AddXY(34.533481,25.544523);</P> <P>pts1.AddXY(35.908324,25.789402)<BR>m_ctrlMapX.GetLayers().Item("TextLayer").AddFeature(m_ctrlMapX.GetFeatureFactory().CreateLine((_variant_t)(pts1.m_lpDispatch));</P> <P> m_ctrlMapX.Refresh(); <BR></P> |
|
4楼#
发布于:2007-08-02 00:50
<P>问题已经解决,</P>
<P>每次画完线后,删除点集里面的所有点就可以了.</P> <P>由于原代码在单位的机子上,没办法COPY,...........</P> |
|
5楼#
发布于:2007-07-31 09:32
你的还好,还可以画线,我的这个函数老是出错,你发一部分代码出来看看
|
|
6楼#
发布于:2007-07-30 14:29
<P>不是吧?</P>
<P>人都没有个?</P> |
|