ich habe mich einmal mit dem neuen WindowTimer beschäftigt und dabei ist mir aufgefallen das gegenüber von SetTimer die Programme die über den WindowTimer laufen stehen bleiben wenn man z.Bsp. das Menu betätigt.
Zwar laufen die Timerprogramme hernach weiter aber eine Zeitangabe so zu steuern ist sicherlich nicht die beste Idee. Ich habe einmal das WindowTimer Beispiel entsprechend geändert, damit dies zu sehen ist.
Code: Alles auswählen
;
; Example for timers and StatusBarProgress()
;
#Window = 0
#StatusBar = 0
Enumeration
#Timer1
#Timer2
EndEnumeration
If OpenWindow(#Window, 0, 0, 400, 200, "Timer example", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateStatusBar(#StatusBar, WindowID(#Window))
AddStatusBarField(200)
AddStatusBarField(200)
If CreateMenu(0, WindowID(0)) ; hier beginnt das Erstellen des Menüs...
MenuTitle("Project")
MenuItem(1, "Open" +Chr(9)+"Ctrl+O")
MenuItem(2, "Save" +Chr(9)+"Ctrl+S")
MenuItem(3, "Save as"+Chr(9)+"Ctrl+A")
MenuItem(4, "Close" +Chr(9)+"Ctrl+C")
EndIf
AddWindowTimer(#Window, #Timer1, 250)
AddWindowTimer(#Window, #Timer2, 1000)
Count1 = 0
Count2 = 0
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Timer
Select EventTimer()
Case #Timer1
Count1 + 5
If Count1 > 100
Count1 = 0
EndIf
StatusBarProgress(#StatusBar, 0, Count1, #PB_StatusBar_BorderLess, 0, 100)
Case #Timer2
Count2 + 5
If Count2 > 100
Count2 = 0
EndIf
StatusBarProgress(#StatusBar, 1, Count2, #PB_StatusBar_BorderLess, 0, 100)
EndSelect
Else
EndIf
Until Event = #PB_Event_CloseWindow
EndIf