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

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

楼主#
更多 发布于:2008-12-09 15:03
想动态创建一些bitmap格式的图元,先用Annotation.addsymble后,使用grahic设置style后报“不支持比bitmap格式”,看了一下帮助,果然是Annotation不支持位图,要用feature,但是使用动态图层添加图元的时候,报“不是图形对象或图形对象不再有效”,没搞懂是什么意思,具体程序大致如下:
CMapXFeature fea;
CMapXPoint pt;
CMapXStyle style;
CMapxLayer layer = mapx1.Getlayers().Creatlayer("Nodelayer",Null,1);

mapx1.Getlayers().SetAnimationLayer(layer);

style.SetSymbolType(miSymbolTypeBitmap);
style.SetSymbolBitmapName("POLI1-32.BMP");
style.SetSymbolBitmapSize(24);
style.SetSymbolBitmapTransparent(True);

pt.Set(114,30);
fea.SetType(miFeatureTypeSymbol);
fea.SetStyle(style);
fea.SetPoint(pt);

layer.AddFeature(fea);

编译没有问题,运行后报的错误是“不是图形对象或图形对象不再有效”
请知道的tx指教折个

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2005-01-04
  • 发帖数1
  • QQ
  • 铜币109枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-12-29 16:47

VARIANT p; p.vt = VT_DISPATCH; p.pdispVal = pt.m_lpDispatch;

VARIANT s; s.vt = VT_DISPATCH; s.pdispVal = style.m_lpDispatch;

fea=mapx1.GetFeatureFactory().CreateSymbol(p, s);

layer.AddFeature(fea);

举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部