|
 |
|
|
|
|
|
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 |