查看單個文章
舊 2006-05-22, 07:59 PM   #3 (permalink)
mini
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:96 | 在線時長:9743小時 | 升級還需:54小時級別:96 | 在線時長:9743小時 | 升級還需:54小時級別:96 | 在線時長:9743小時 | 升級還需:54小時級別:96 | 在線時長:9743小時 | 升級還需:54小時級別:96 | 在線時長:9743小時 | 升級還需:54小時級別:96 | 在線時長:9743小時 | 升級還需:54小時
註冊日期: 2002-12-07
文章: 13279
精華: 0
現金: 26307 金幣
資產: 3024127 金幣
預設

但以上程式可發現
系統時間不會動
此時發現原來 Timer 需持續計數
最後的改良版如下
語法:
'timeGetTime()
'精度約1ms , 此式適用於大多數應用場合
Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Dim TempT As Long
Dim PreText As String
Dim gX As Single, gY As Single
Dim blnMove As Boolean

Private Sub Form_Load()

    PreText = Text1
    TempT = timeGetTime
    Timer1.Interval = 100
    Timer1.Enabled = True
    
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

    If gX = X And gY = Y Then Exit Sub
    gX = X: gY = Y
    
    TempT = timeGetTime
    blnMove = True
    Text1 = PreText
    
End Sub

Private Sub Timer1_Timer()

    If (timeGetTime - TempT) > 1500 Then '表示1.5秒不動的話...
        If blnMove Then
            PreText = Text1
            blnMove = False
        End If
        
        Text1 = Time
    End If
    
End Sub
mini 目前離線  
送花文章: 2003, 收花文章: 7968 篇, 收花: 26766 次
回覆時引用此帖