AddWindowTimer()

Syntax

AddWindowTimer(#Window, Timer, Timeout)
Beschreibung
Fügt einen neuen Timer (in Deutsch "Zeitgeber") zum angegebenen Fenster hinzu. Dies verursacht #PB_Event_Timer Ereignisse, die in regelmäßigen Zeitabständen von den WindowEvent() bzw. WaitWindowEvent() Funktionen empfangen werden. Die Funktion RemoveWindowTimer() kann verwendet werden, um den Timer wieder zu entfernen.

Parameter

#Window Das zu verwendende Fenster. Ein Timer wird immer zu einem Fenster hinzugefügt und wird entfernt, wenn dieses Fenster geschlossen wird.
Timer Eine benutzerdefinierte Zahl, welche diesen Timer identifiziert. Timer auf verschiedenen Fenstern dürfen sich überschneidende Nummern haben. Dieser Wert wird später von EventTimer() zurückgegeben, wenn ein #PB_Event_Timer empfangen wurde. Er kann auch verwendet werden, um den Timer mit der RemoveWindowTimer() Funktion wieder zu entfernen.
Timeout Definiert die Zeit (in Millisekunden) zwischen den #PB_Event_Timer Ereignissen.

Die Timer-Ereignisse werden nur generiert, wenn keine anderen Ereignisse zu verarbeiten sind (Timer sind Ereignisse mit niedriger Priorität). Dies bedeutet, dass die zwischen zwei Timern vergangene Zeit größer sein kann, als der definierte 'TimeOut'-Wert. Timer sind daher nicht geeignet für exaktes Timing (Zeitsteuerung), sondern eher gedacht für das Ausführen regelmäßiger Aufgaben wie das Aktualisieren eines Gadget-Inhalts oder Ähnliches.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

  If OpenWindow(0, 0, 0, 400, 100, "Timer Example", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ProgressBarGadget(0, 10, 10, 380, 20, 0, 100)
    AddWindowTimer(0, 123, 250)
    
    Value = 0
    Repeat
      Event = WaitWindowEvent()
      
      If Event = #PB_Event_Timer And EventTimer() = 123
        Value = (Value + 5) % 100
        SetGadgetState(0, Value)
      EndIf    
      
    Until Event = #PB_Event_CloseWindow
  EndIf

Anmerkungen

Um den Zeitabstand zwischen den Timer-Ereignissen zu ändern, müssen Sie den Timer zuerst remove entfernen, und diesen dann mit einem neuen 'Timeout'-Wert erneut hinzufügen:
    RemoveWindowTimer(#Window, Timer)
    AddWindowTimer(#Window, Timer, Timeout)

Siehe auch

RemoveWindowTimer(), EventTimer()

Unterstützte OS

Alle

<- AddKeyboardShortcut() - Window Inhaltsverzeichnis - BindEvent() ->