在Mapx中设置单个图元的样式

时间:2022-04-23
本文章向大家介绍在Mapx中设置单个图元的样式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

        前几天研究了一下,感觉都快忘了。虽然去啃帮助仍然可以把这些东西啃出来,但有点烦。把记忆的东西零星整理一下:

  • Mapx4不支持具体到图元的样式的指定,只能够指定到图层的样式
  • 而在MapInfo中,是可以为每个图元指定样式的
  • 在Mapx5中,支持对个别图元的样式的指定,所以如果有这个需要,就需要考虑用mapx5
  • 不管是图元样式还是图层样式,都是一个style,这是一个超集。属性很多,但并非每个都能用,有些对线管用,有些对点管用,有些对面管用……这个从字面上都能看出来。
  • 对于Label,也可以指定样式,而用的style是文字相关的style。只不过这个style,是从labels集合中的元素关联的style。

代码:

     Map1.ConvertCoord x, y, Lon, lat, miScreenToMap
     pnt.Set Lon, lat
     Set fs = Map1.Layers(PLayer).SearchAtPoint(pnt)
     If fs.Count > 0 Then     '定位对象
       If Not curftr Is Nothing Then If curftr = fs.Item(1) Then Exit Sub  '防止重复设置
       Set lb = GetLabel(fs.Item(1).FeatureKey, Map1.Layers(PLayer).Labels)
       If Not lb Is Nothing Then             '为标注加下划线效果
         lb.Style.TextFont.Underline = True
         Set curftr = fs.Item(1)
         'fs.Item(1).Update
       End If
       Map1.MousePointer = miCustomCursor    '鼠标样式