Timer procedure => transformation en Lib ?
Publié : lun. 05/oct./2009 18:18
Salut,
Du retour du pays des caribous j'aimerai faire une Lib "Clignote" qui permettrait de faire bêtement clignoter un texte.
Inspiré par le tuto de Dobro sur les timer et aidé de NetMaestro, voilà le code en question. (s'il peut servir à certain)
je n'arrive cependant pas à le modifier pour en faire une seule procédure que je compilerai en Lib.
Genre : Clignote(#GadgetCible,MessageAclignoter$,duree) ou même Clignote(#Fenetre,#GadgetCible,MessageAclignoter$,duree)
Merci de vos lumières.
Du retour du pays des caribous j'aimerai faire une Lib "Clignote" qui permettrait de faire bêtement clignoter un texte.
Inspiré par le tuto de Dobro sur les timer et aidé de NetMaestro, voilà le code en question. (s'il peut servir à certain)
je n'arrive cependant pas à le modifier pour en faire une seule procédure que je compilerai en Lib.
Genre : Clignote(#GadgetCible,MessageAclignoter$,duree) ou même Clignote(#Fenetre,#GadgetCible,MessageAclignoter$,duree)
Merci de vos lumières.
Code : Tout sélectionner
; Timer pour clignoter par Ar-S
; thks to dobro & NetMestro
; PB . 4.30
Enumeration
#WIN : #Affiche : #BT
EndEnumeration
Declare TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
Declare Clignote(GadgetCible,MessageAclignoter$,duree)
Global GadgetCible=#Affiche
Global MessageAclignoter$="Clignoti clignota"
Procedure TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
; thanks NetMaestro
Static mode=0
Select mode
Case 0
SetGadgetText(GadgetCible,MessageAclignoter$)
Case 1
SetGadgetText(GadgetCible,"")
EndSelect
mode = 1-mode
EndProcedure
Procedure Clignote(GadgetCible,MessageAclignoter$,duree)
;-TIMER---
SetTimer_(#WIN,0,duree, @TimerProc())
;---------
EndProcedure
Procedure OpenWindow_WIN()
If OpenWindow(#WIN, 450, 200, 377, 24, "clignote", #PB_Window_SystemMenu|#PB_Window_TitleBar)
StringGadget(#Affiche, 0, 0, 200, 22, "", #PB_String_ReadOnly|#ES_CENTER)
ButtonGadget(#BT,210,0,150,20,"Clic")
EndIf
EndProcedure
OpenWindow_WIN()
;{- Event loop
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case #Affiche
;Clignote(#Affiche,MessageAclignoter$,500)
Case #BT
Clignote(#Affiche,MessageAclignoter$,500)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case #WIN
CloseWindow(#WIN)
Break
EndSelect
EndSelect
ForEver