hakunamatata
路人甲
路人甲
  • 注册日期2008-12-04
  • 发帖数1
  • QQ
  • 铜币106枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1648回复:1

VC环境下如何在动态图层上添加bitmap图元

楼主#
更多 发布于:2008-12-09 15:03
想动态创建一些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" />
喜欢0 评分0
zayaca
路人甲
路人甲
  • 注册日期2005-01-04
  • 发帖数1
  • QQ
  • 铜币109枚
  • 威望0点
  • 贡献值0点
  • 银元0个
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>
举报 回复(0) 喜欢(0)     评分
游客

返回顶部