Eventhandler in PB (von srod)
Verfasst: 03.04.2006 11:15
Hallöle,
srod hat im englischen Forum einen netten Code veröffentlicht, der die
Programmierung unter Verwendung von Eventhandlern vereinfacht:
http://www.purebasic.fr/english/viewtopic.php?t=20929
Auszug aus der beiliegenden demo1.pb:
Grüße ... Kiffi
srod hat im englischen Forum einen netten Code veröffentlicht, der die
Programmierung unter Verwendung von Eventhandlern vereinfacht:
http://www.purebasic.fr/english/viewtopic.php?t=20929
Auszug aus der beiliegenden demo1.pb:
Code: Alles auswählen
[...]
;Set event handlers.
;Note one handler can easily handle multiple events/controls.
SetEventHandler(GadgetID(1), #OnButtonClick, @ButtonClick())
SetEventHandler(GadgetID(2), #OnCursorEnter, @EnterListIcon())
SetEventHandler(GadgetID(2), #OnCursorExit, @ExitListIcon())
SetEventHandler(GadgetID(3), #OnGotFocus, @ActivateString())
SetEventHandler(WindowID(1), #OnMouseDown, @ButtonClick())
SetEventHandler(GadgetID(4), #OnMouseOver, @MouseOver())
Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow
End
;*********************************************************************************
; EVENT HANDLERS
;*********************************************************************************
;The following handler shows how one handler can handle multiple events/controls.
Procedure.l ButtonClick(*sender.PB_Sender)
Debug "Click"
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure.l EnterListIcon(*sender.PB_Sender)
Debug "Enter"
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure.l ExitListIcon(*sender.PB_Sender)
Debug "Exit"
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure.l ActivateString(*sender.PB_Sender)
Debug "Activate"
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
Procedure.l MouseOver(*sender.PB_Sender)
Debug "Mouseover"
ProcedureReturn #PB_ProcessPureBasicEvents
EndProcedure
[...]