vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Windows/System28.07.01
SetTimer-Funktion

SetTimer erzeugt einen Timer-Ereignis, welches von Windows in bestimmten Zeitabständen ausgelöst wird.

Betriebssystem:  Win95, Win98, WinNT 3.1, Win2000, WinMEViews:  36.744 

Deklaration:

Declare Function SetTimer Lib "user32.dll" ( _
  ByVal hWnd As Long, _
  ByVal nIDEvent As Long, _
  ByVal uElapse As Long, _
  ByVal lpTimerFunc As Long) As Long

Beschreibung:
SetTimer erzeugt einen Timer-Ereignis, welches von Windows in bestimmten Zeitabständen ausgelöst wird.

Parameter:
hWndHandle des Fensters, welches dem Timer zugeordnet ist. Um den Timer nicht an ein bestimmtes Fenster zu binden, setzten Sie hier eine "0".
nIDEventEvent-ID, welche den Timer eindeutig kennzeichnet. Kann die angegebene Event-ID nicht zugewiesen werden, so liefert die Funktion eine Alternativ-Event-ID zurück. Ist kein Fensterhandle angegeben worden, so wird diese Option ignoriert.
uElapseZeitangabe in Millisekunden, nach der das Timer-Event eintreten soll.
lpTimerFuncErwartetet die Prozedur-Adresse, die aufgerufen werden soll, wenn das Timer-Ereignis eintrifft. Wird hier eine "0" angegeben, so wird das Ereignis an die Standard-Prozedur des durch hWnd angegebenen Fensters weitergeleitet.

Rückgabewert:
Ist die Rückgabe erfolgreich, so liefert die Funktion eine Event-ID (Event Handle), andernfalls ist der Rückgabewert "0".


Beispiel:

' Fügen Sie nachfolgenden Code in ein öffengtliches Modul ein
Private Declare Sub GetLocalTime Lib "kernel32.dll" (lpSystemTime As SYSTEMTIME)
 
Private Declare Function SetTimer Lib "user32.dll" ( _
  ByVal hWnd As Long, _
  ByVal nIDEvent As Long, _
  ByVal uElapse As Long, _
  ByVal lpTimerFunc As Long) As Long
 
Private Declare Function KillTimer Lib "user32.dll" ( _
  ByVal hWnd As Long, _
  ByVal nIDEvent As Long) As Long
 
Const WM_TIMER = &H113 ' Timer-Ereignis trifft ein
 
Private Type SYSTEMTIME
  wYear As Integer
  wMonth As Integer
  wDayOfWeek As Integer
  wDay As Integer
  wHour As Integer
  wMinute As Integer
  wSecond As Integer
  wMilliseconds As Integer
End Type
 
Private hEvent As Long
' Timer-Prozedur, welche im Abstand der festgelegten
' Millisekunden ein Ereignis sendet
Public Sub TimerProc(ByVal hWnd As Long, ByVal uMsg As Long, _
  ByVal wParam As Long, ByVal lParam As Long)
 
  Dim ST As SYSTEMTIME
 
  If uMsg = WM_TIMER Then
    ' Lokale Zeit ermitteln...
     GetLocalTime ST
 
    ' ... und im Labelfeld der Form anzeigen
    Form1.Label1.Caption = Format$(ST.wHour, "00:") & _
      Format$(ST.wMinute, "00:") & Format$(ST.wSecond, "00 Uhr")
  End If
End Sub
' Startet den Timer
Public Function EnableTimer(ByVal msInterval As Long)
  If hEvent <> 0 Then Exit Function
  hEvent = SetTimer(0&, 0&, msInterval, AddressOf TimerProc)
End Function
' Beendet den Timer
Public Function DisableTimer()
  If hEvent = 0 Then Exit Function
  KillTimer 0&, hEvent
  hEvent = 0
End Function
' Fügen Sie nachfolgenden Code in eine Form ein
Private Sub Command1_Click()
  EnableTimer 1000
End Sub
Private Sub Command2_Click()
  DisableTimer
End Sub
' Sicherheitshalber das Event Löschen, falls vorhanden
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  DisableTimer
End Sub

Diese Seite wurde bereits 36.744 mal aufgerufen.

nach obenzurück
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel