Reading the forum I came across the code below which appears to be the commonly acceptable method lacking a native PB command or gadget attribute for this purpose. I copied, compiled and ran this code and it works as advertized.
Code: Select all
;Member:idle Post subject: Re: Intercept the *Return Key* PostPosted: Thu Feb 09, 2012 6:37 am
Enumeration 1
#String1
#string2
#string3
#string4
#menuQuit
EndEnumeration
OpenWindow(0,#Null,#Null,400,200,"HAI",#PB_Window_ScreenCentered)
StringGadget(#String1,5,5,300,20,"Sting Field 1")
StringGadget(#String2,5,35,300,20,"2 Field String 2")
AddKeyboardShortcut(0,#PB_Shortcut_Escape,#menuQuit)
OpenWindow(1,#Null,#Null,400,200,"HAI",#PB_Window_ScreenCentered)
StringGadget(#String3,5,5,300,20,"Sting Field 3")
StringGadget(#String4,5,35,300,20,"2 Field String 4")
AddKeyboardShortcut(1,#PB_Shortcut_Escape,#menuQuit)
SetActiveGadget(1)
Repeat
event=WaitWindowEvent()
evw = EventWindow()
Select event
Case #PB_Event_Gadget
eventg=EventGadget()
evw = EventWindow()
Select eventg
Case #String1,#string2,#string3,#string4
Select EventType()
Case #PB_EventType_Focus
AddKeyboardShortcut(evw,#PB_Shortcut_Return, eventg)
Case #PB_EventType_LostFocus
RemoveKeyboardShortcut(evw,#PB_Shortcut_Return)
EndSelect
EndSelect
Case #PB_Event_Menu
menu = EventMenu()
Select Menu
Case #String1,#string2,#string3,#string4
MessageRequester("Easy",GetGadgetText(menu)+" See?")
Case #menuQuit
Quit=1
EndSelect
Case #PB_Event_CloseWindow
Quit=1
RemoveKeyboardShortcut(0,#PB_Shortcut_Return)
RemoveKeyboardShortcut(1,#PB_Shortcut_Return)
EndSelect
Until Quit=1Code: Select all
Enumeration 1
#String1
#string2
#string3
#string4
#menuQuit
EndEnumeration
OpenWindow(0,#Null,#Null,400,200,"HAI",#PB_Window_ScreenCentered)
StringGadget(#String1,5,5,300,20,"Sting Field 1")
StringGadget(#String2,5,35,300,20,"2 Field String 2")
AddKeyboardShortcut(0,#PB_Shortcut_Escape,#menuQuit)
OpenWindow(1,#Null,#Null,400,200,"HAI",#PB_Window_ScreenCentered)
StringGadget(#String3,5,5,300,20,"Sting Field 3")
StringGadget(#String4,5,35,300,20,"2 Field String 4")
AddKeyboardShortcut(1,#PB_Shortcut_Escape,#menuQuit)
SetActiveGadget(1)
Repeat
event=WaitWindowEvent()
evw = EventWindow()
Select event
Case #PB_Event_Gadget
eventg=EventGadget()
gtype=GadgetType(eventg) ;Determine Gadget Type: produces ERROR The specified Gadget is not initialised
evw = EventWindow()
Select gtype
Case #PB_GadgetType_String ; if Gadget Type is a string gadget
Select EventType()
Case #PB_EventType_Focus
AddKeyboardShortcut(evw,#PB_Shortcut_Return, eventg)
Case #PB_EventType_LostFocus
RemoveKeyboardShortcut(evw,#PB_Shortcut_Return)
EndSelect
EndSelect
Case #PB_Event_Menu
menu = EventMenu()
Select Menu
Case #PB_GadgetType_String
MessageRequester("Easy",GetGadgetText(menu)+" See?")
Case #menuQuit
Quit=1
EndSelect
Case #PB_Event_CloseWindow
Quit=1
RemoveKeyboardShortcut(0,#PB_Shortcut_Return)
RemoveKeyboardShortcut(1,#PB_Shortcut_Return)
EndSelect
Until Quit=11. Get my understanding about the use of gadget numbers and variables corrected (most important!)
2. Help me generalize the above code (nice, but if I have the above, I might be able to do it myself!)
Thanks to all those members who help us newbies. You have already helped me understand PB more than you realize.
Best,
John

