Code: Select all
Procedure LostFocus()
Debug "Active gadget [Lost focus, Bind] : "+Str(GetActiveGadget())
EndProcedure
If OpenWindow(0, 0, 0, 322, 205, "Lost focus", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
StringGadget(0, 8, 10, 306, 20, "0")
StringGadget(1, 8, 35, 306, 20, "1")
StringGadget(2, 8, 60, 306, 20, "2")
BindGadgetEvent(0, @LostFocus(), #PB_EventType_LostFocus)
BindGadgetEvent(1, @LostFocus(), #PB_EventType_LostFocus)
BindGadgetEvent(2, @LostFocus(), #PB_EventType_LostFocus)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget
Select EventType()
Case #PB_EventType_LostFocus
Debug "Active gadget [Lost focus, Event] : "+Str(GetActiveGadget())
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
When using BindGadgetEvent it often reports the old gadget which has lost focus still as the active gadget.