欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap 谈天说地
   您现在位于: 首页技术专栏SuperMap应用与开发SO开发 → 正文
批量闪烁
07-11-05 09:41:02 作者: 出处:超图

功能简介:

    通过选择选中一批对象,然后让这一批对象闪烁。本程序库中还提供了一个与该范例类似的简单示范代码,比这个范例更容易,适用于TrackingLayer的初学者,在此不作介绍

数据来源:由用户自己打开任意一个合法的数据源。

    所用SuperMap Objects 组件、对象的主要属性和方法:

控  件 及 对 象 属  性 方  法
SuperWorkspace  TrackingLayer OpenDatasource
SuperMap  Selection  
soSelection   ToRecordset
soTrackingLayer   ClearEvents,AddEvent

功能实现:

  • 选择多个对象(在基本操作中有介绍)
  • 闪烁对象

 SuperMap控件本身没有提供让目标闪烁的方法,但是可以通过soTrackingLayer对象和Timer控件的组合来实现这一功能。分两步来完成:

第一,选择对象并把它追加到一个记录集合中;
Dim objRcd as New soRecordset
Set objRcd = SuperMap1.Selection.ToRecordset(True)
第二,获取记录集合中的集合对象,全部把它添加到soTrackingLayer上,再把它清除,通过时间控件来实现循环。
'定义风格对象
Dim objStyle as New soStyle                      '定义风格变量,TrackingLayer上实例的风格

With objStyle                                    '生成新的风格    
     .BrushColor = vbBlue
     .PenColor = vbBlue
     .PenWidth = 8
     .SymbolSize = 100
End With

'开始闪烁
Private Sub Timer1_Time()                               '面状要素对象,用来接受记录的几何对象
    Dim objGeometry as soGeometry
    Dim objTrackingLyr as soTrackingLayer
    Set objTrackingLyr = SuperMap1.TrackingLayer        '获取跟踪图层
    objTrackingLyr.ClearEvent

    objRcd.MoveFirst
    Do Until objRcd.IsEOF                          
'把所有选中记录的几何对象都添加到跟踪图层  
       Set objGeometry = objRecordset.GetGeometry() 
'获取记录的几何对象 
       SuperMap1.TrackingLayer.AddEvent objGeometry, objStyle, ""   
'添加并显示实例
       objRcd.MoveNext
    Loop

    SuperMap1.TrackingLayer.Refresh                 '刷新跟踪图层 
End Sub

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  
    无相关新闻

    关于我们 友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.

                   滇ICP备05006901号