Ar-S a écrit :En revanche, l'anim se fige des que la fenêtre n'a plus le focus, même si visible et se réanime des qu'elle reprend le focus. Vraiment etrange.
Voilà la proce dans mon timer (toutes les secondes)
je parie que tu as utilisé la fonction Timer de Purebasic !!
le probleme c'est que cette fonction comme son nom l'indique (Add
WindowTimer(#Fenetre, Minuteur, Temps)) est lié aux Event de la fenetre du prg !! via (EventTimer() )
utilise cette procedure (Version API ) independante des Events :
ici pour 3 timers.... mais suprime en 2
Code : Tout sélectionner
Declare TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
Enumeration
#timer_1
#timer_2
#timer_3
EndEnumeration
If OpenWindow(0, 100, 100, 100, 100,"", #PB_Window_SystemMenu|#PB_Window_SizeGadget)
Handle = WindowID(0)
SetTimer_(Handle, #timer_1, 1000, @TimerProc()) ; envoie un evenement toutes les 1000 millisecondes ; en fait on prepare un timer qui enverra cette evenement
SetTimer_(Handle, #timer_2, 200, @TimerProc()) ; envoie un evenement toutes les 200 millisecondes ; en fait on prepare un timer qui enverra cette evenement
SetTimer_(Handle, #timer_3, 3000, @TimerProc()) ; envoie un evenement toutes les 3000 millisecondes ; en fait on prepare un timer qui enverra cette evenement
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
; cette procedure contient les actions a effectuer des 3 timers
Procedure TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
Select uMsg
Case #WM_TIMER
Select idEvent
Case #timer_1
Debug "--------------------1 seconde"
; Ici, le code à executer toutes les secondes
beep_(440,100)
Case #timer_2
Debug "0.2 secondes"
; Ici, le code à executer toutes les 200 millisecondes
Case #timer_3
Debug "-------------------------------------------3 secondes"
; Ici, le code à executer toutes les 3 secondes
EndSelect
EndSelect
EndProcedure
; EPB
sinon , j'y pense tu aurai pas merdouillé le WaitWindowEvent() ?? t'a mis un minuteur "WaitWindowEvent(
20)" ??
parceque perso , j'ai enormement de prg qui tourne en Arriere plan fait en purebasic , et qui fonctionnent
(PureAniv, Horloge , Pure_Alerte , SpyPseudo ,etc .... )