⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clsblink.cls

📁 都是基于VB所做的程序集合,值得大家作为实践的参考资料.
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsBlink"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit

Public ctrTimer As Timer                  '闪烁要用的Timer控件
Public objStyle As soStyle                '闪烁风格的对象变量
Public ctrSuperMap As SuperMap            '闪烁对象所在的SuperMap控件
Public dBlinkTimes  As Double             '闪烁的总时间,默认为4秒。每两次闪烁的间隔,用Timer控件的InterVal属性来设定
Public dStartTime As Double               '开始闪烁时的时间
Public objRecordset As soRecordset        '要闪烁的对象的Recordset
Private objGeometry As soGeometry
Public strDtName As String                  '闪烁的对象所在的数据集名称

Public Sub Initialize()
    If dBlinkTimes = 0 Then dBlinkTimes = 4
    If ctrTimer.Interval = 0 Then ctrTimer.Interval = 250
End Sub

Private Sub Class_Terminate()
    Set objStyle = Nothing
    Set ctrSuperMap = Nothing
    Set objRecordset = Nothing
    Set ctrTimer = Nothing
End Sub

Public Sub OnStartBlink()
    Static bTemp As Boolean
    
    ctrSuperMap.TrackingLayer.ClearEvents
    If Timer() > dStartTime + dBlinkTimes Then
        ctrSuperMap.TrackingLayer.Refresh
        ctrSuperMap.Refresh
        ctrTimer.Enabled = False
        Set objGeometry = Nothing
        dStartTime = 0#
        Exit Sub
    End If
    
    If bTemp = True Then
        objRecordset.MoveFirst
        Do Until objRecordset.IsEOF
            Set objGeometry = objRecordset.GetGeometry()
            ctrSuperMap.TrackingLayer.AddEvent objGeometry, objStyle, ""
            objRecordset.MoveNext
        Loop
    End If
    bTemp = Not bTemp
    ctrSuperMap.TrackingLayer.Refresh
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -