Deux boucles évènementielles dont une en thread
Publié : jeu. 24/mai/2012 14:15
Une idée aussi sotte que grenue (Comme cette expression). Est il correct d'avoir, pour une seule fenêtre, deux boucles évènementielles dont une en thread pour gérer les Evénements ?
Dans le code ci-dessous je souhaite que le "clic" sur le carré blanc, soit géré en thread et non pas dans la boucle principale.
Dans le code ci-dessous je souhaite que le "clic" sur le carré blanc, soit géré en thread et non pas dans la boucle principale.
Code : Tout sélectionner
EnableExplicit
Enumeration
#Mainform
#Canvas
#Button
EndEnumeration
Procedure MonThread(Value)
Protected EGadget.l, EType.l
Repeat
EGadget = EventGadget()
EType = EventType()
If EGadget And GadgetType(EGadget)=#PB_GadgetType_Canvas And EType=#PB_EventType_LeftClick
Debug "Clic"
EndIf
ForEver
EndProcedure
OpenWindow(#Mainform, 0, 0, 500, 400, "New Form")
CanvasGadget(#Canvas, 10, 20, 20, 20, #PB_Canvas_ClipMouse)
ButtonGadget(#Button, 10,50, 80, 20, "teste")
CreateThread(@MonThread(), 999)
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver