阅读:1648回复:1
VC环境下如何在动态图层上添加bitmap图元
想动态创建一些bitmap格式的图元,先用Annotation.addsymble后,使用grahic设置style后报“不支持比bitmap格式”,看了一下帮助,果然是Annotation不支持位图,要用feature,但是使用动态图层添加图元的时候,报“不是图形对象或图形对象不再有效”,没搞懂是什么意思,具体程序大致如下:<BR>CMapXFeature fea;<BR>CMapXPoint pt;<BR>CMapXStyle style;<BR>CMapxLayer layer = mapx1.Getlayers().Creatlayer("Nodelayer",Null,1);
<br> <P>mapx1.Getlayers().SetAnimationLayer(layer);</P> <P>style.SetSymbolType(miSymbolTypeBitmap);<BR>style.SetSymbolBitmapName("POLI1-32.BMP");<BR>style.SetSymbolBitmapSize(24);<BR>style.SetSymbolBitmapTransparent(True);</P> <P>pt.Set(114,30);<BR>fea.SetType(miFeatureTypeSymbol);<BR>fea.SetStyle(style);<BR>fea.SetPoint(pt);</P> <P>layer.AddFeature(fea);</P> <P>编译没有问题,运行后报的错误是“不是图形对象或图形对象不再有效”<BR>请知道的tx指教折个<BR></P><img src="images/post/smile/dvbbs/em11.gif" /> |
|
1楼#
发布于:2008-12-29 16:47
<P>VARIANT p; p.vt = VT_DISPATCH; p.pdispVal = pt.m_lpDispatch;</P>
<P>VARIANT s; s.vt = VT_DISPATCH; s.pdispVal = style.m_lpDispatch;</P> <P>fea=mapx1.GetFeatureFactory().CreateSymbol(p, s);</P> <P>layer.AddFeature(fea);</P> |
|