wws
wws
路人甲
路人甲
  • 注册日期2004-10-18
  • 发帖数1
  • QQ
  • 铜币110枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:679回复:0

[求助]图元设置问题

楼主#
更多 发布于:2005-06-16 17:58
<P>本人创建了一个点层,在更换图元时可以一起更新成一图元,但要使代表不同类型设备的点显示不同图元符号就不可以了,请大侠们帮忙看看,或是提供一个思路。</P>
<P>/-----------------------------设定指定的ECustomMarkers-------------------------<BR>function  pub_setICustomMarker(stindex:integer):ICustomMarker;<BR>var<BR>  s:ICustomMarker;<BR>begin<BR>  g_bcm.picname := tbpath+ inttostr(stindex)+'.bmp';<BR>  s := ICustomMarker(g_bcm) ;<BR>  result:=s;<BR>end;</P>
<P>//----------------------------</P>
<P> vmrender:=IMOvaluemaprenderer(CreateOleObject('MapObjects2.valuemaprenderer'));<BR>    vmrender.Field:='imageindex';<BR>    vmrender.ValueCount :=myrecset.Count;<BR>    myrecset.MoveFirst ;<BR>    i:=0;<BR>    while not myrecset.EOF do<BR>    begin<BR>      imageindex:=strtoint(myrecset.Fields.Item('imageindex').valueasstring);<BR>      vmrender.Value:=myrecset.Fields.Item('imageindex').valueasstring;<BR>      vmrender.Symbol.Custom :=pub_setICustomMarker(imageindex);//此句出错<BR>      vmrender.Symbol.Color :=clred;<BR>      vmrender.Symbol.Size :=imageindex;<BR>      myrecset.MoveNext ;<BR>      i:=i+1;<BR>    end;</P>
<P>    if IMoMapLayer(g_lys.Item(layindex)).shapeType = moShapeTypeMultipoint Then<BR>       symInt:=0  Else  symInt:= IMoMapLayer(g_lys.Item(layindex)).shapeType - 21 ;<BR>    vmrender.SymbolType := symInt;<BR>    IMoMapLayer(g_lys.Item(layindex)).Renderer:=vmrender;</P>
喜欢0 评分0
游客

返回顶部