[RESOLU] Postmessage_( vers un gadget de la fenetre
Publié : ven. 13/août/2010 9:07
Bonjour à tous et merci d'avance pour me lire et pour me répondre.
J'ai presque terminé mon treegadget.
J'intercepte les évènements qui vont vers le treegadget, je les traitent et je voudrais renvoyer à la fenêtre principale d'autre évènement.
J'utilise postmessage_(.....pour envoyer mon évenement personnel :#PB_EventType_Perso..... mais je n'arrive pas à bien envoyer les évenements.
Je pourrais les envoyer vers un #wm_user, mais j'ai vraiment envie que cela soit intersepté sur le gadget lui même.
Voici un exemple avec un buttongadget au lieu d'un treegadget :
J'ai presque terminé mon treegadget.
J'intercepte les évènements qui vont vers le treegadget, je les traitent et je voudrais renvoyer à la fenêtre principale d'autre évènement.
J'utilise postmessage_(.....pour envoyer mon évenement personnel :#PB_EventType_Perso..... mais je n'arrive pas à bien envoyer les évenements.
Je pourrais les envoyer vers un #wm_user, mais j'ai vraiment envie que cela soit intersepté sur le gadget lui même.
Voici un exemple avec un buttongadget au lieu d'un treegadget :
Code : Tout sélectionner
#PB_EventType_Perso=10
Procedure Traitement_des_evenements(event)
If EventGadget()=1 ;je pique tous les évenements sur le gadget
Select EventType()
Case #PB_EventType_LeftClick
Debug "left Clic"
PostMessage_(WindowID(0),#PB_Event_Gadget,1,#PB_EventType_Perso)
EndSelect
ProcedureReturn 0
EndIf
ProcedureReturn event
EndProcedure
If OpenWindow(0, 0, 0, 300, 400, "TreeGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ButtonGadget(1,10,10,100,20,"Postmessage")
Repeat
event=WaitWindowEvent()
If event<>512 And event<>160 ;Mouse move et barre bleu
Debug "EW"+Str(EventWindow())+" : "+"Evt"+Str(event)+" : "+"ET "+Str(EventType())+" : "+"EG "+Str(EventGadget())+" : "+"wParam"+Str(EventwParam())+" : "+"lParam"+Str(EventlParam())
EndIf
event=Traitement_des_evenements(event)
Select event
Case #PB_Event_Gadget
Select EventGadget()
Case 1
Select EventType()
Case #PB_EventType_LeftClick
Debug "Tiens ! Un clic, c'est bizarre "
Case #PB_EventType_Perso
Debug "Bingo"
EndSelect
EndSelect
EndSelect
Until event = #PB_Event_CloseWindow
EndIf