Nota: Es gibt hochauflösende und 'normale' Timer. Letzterer wird hier behandelt.

Gestartet wird der Timer mit der SetTimer-Funktion; gestoppt mit KillTimer.

Die Syntax dazu lautet:

Public Declare Function SetTimer Lib "user32" ( ByVal HWnd As Long, _
   ByVal nIDEvent As Long, ByVal uElapse As Long, _
   ByVal lpTimerFunc As Long) As Long

Public Declare Function KillTimer Lib "user32" ( ByVal HWnd As Long, _
   ByVal nIDEvent As Long) As Long

Dabei bedeuten:

  • hWnd: der Handle des Eltern-Fensters; ist der Handle '0', so wird nIDEvent ignoriert
  • nIDEvent: die ID des Timers; gewöhnlich 'ID_TIMER1', 'ID_TIMER2', etc.; wird ignoriert, falls hWnd = 0;
  • uElapse: die Zeit in ms zwischen zwei aufeinander folgenden WM_TIMER - Events
  • lpTimerFuc: die Adresse der TimerProc

Wird der Timer ohne Handle gestartet, so wird der Rückgabewert von SetTimer bei KillTimer verwendet.

Es können beliebig viele Timer benützt werden.

Ein Programm sollte alle gestarteten Timer wieder stoppen. Andernfalls droht 'Erratic behaviour' von Catia und/oder Windows, d.h. Catia und/oder Windows spielen verrückt.

 

Zum Seitenanfang