Skip to content

Event Handling

CrossBasic uses a dynamic event model similar to Xojo’s. Plugins and UI objects fire events you can catch with AddHandler.

Wiring Events

  1. AddressOf: get a function pointer.
  2. AddHandler: bind an event to your Sub.
Sub AppQuit()
  Quit()
End Sub

AddHandler(win.Closing, AddressOf(AppQuit))

Plugin-Generated Events

Sub TimerTrigger(currentTime As String)
  Print("Timer at " + currentTime)
End Sub

Dim inst As New MyInstance()
AddHandler(inst.OnTrigger, AddressOf(TimerTrigger))

While True
  DoEvents(1)
Wend
  • Event identifiers are properties like OnTrigger, Pressed, MouseDown, etc.
  • Handlers must match the event’s parameter signature.
  • DoEvents() pumps the event loop.