Re: Event Handling: Buttons vs. StringGadgets
Posted: Thu May 12, 2016 2:50 pm
In my opinion it should be so.
Code: Select all
EnableExplicit
Enumeration
#Window_mainForm
#string1
#string2
#string3
EndEnumeration
Define Event
Global Tries = 0
Procedure StringGadgetHandler()
Tries + 1
Debug "You clicked on gadget " + EventGadget() + " on try " + Str(Tries)
EndProcedure
If OpenWindow(#Window_mainForm,0,0,800,250,"Test with StringGadgets",#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget|#PB_Window_ScreenCentered)
StringGadget(#string1,100, 30, 150, 60, "stringGadget 1",#ES_MULTILINE|#ES_AUTOVSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT|#ES_READONLY)
BindGadgetEvent(#string1,@StringGadgetHandler(),#PB_EventType_Focus)
StringGadget(#string2,300, 30, 150, 60, "stringGadget 2",#ES_MULTILINE|#ES_AUTOVSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT|#ES_READONLY)
BindGadgetEvent(#string2,@StringGadgetHandler(),#PB_EventType_Focus)
StringGadget(#string3,500, 30, 150, 60, "stringGadget 3",#ES_MULTILINE|#ES_AUTOVSCROLL|#ESB_DISABLE_LEFT|#ESB_DISABLE_RIGHT|#ES_READONLY)
BindGadgetEvent(#string3,@StringGadgetHandler(),#PB_EventType_Focus)
Repeat
Event = WaitWindowEvent()
If EventType() = #PB_EventType_Focus
SetActiveGadget(-1)
EndIf
If Tries = 4
Tries = 0
SetActiveGadget(-1)
MessageRequester("","No more clicks for you. Resetting.")
EndIf
Until Event = #PB_Event_CloseWindow
EndIf