Page 1 of 1
Shift-Tab event
Posted: Mon Feb 09, 2026 12:38 pm
by Joubarbe
Code: Select all
Enumeration
#EVENT_TAB
#EVENT_SHIFT_TAB
EndEnumeration
Procedure OnTab()
Debug "OnTab()"
EndProcedure
Procedure OnShiftTab()
Debug "OnShiftTab()"
EndProcedure
OpenWindow(0, 0, 0, 500, 500, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CanvasGadget(0, 0, 0, 500, 500)
AddKeyboardShortcut(0, #PB_Shortcut_Tab, #EVENT_TAB)
AddKeyboardShortcut(0, #PB_Shortcut_Shift | #PB_Shortcut_Tab, #EVENT_SHIFT_TAB)
BindEvent(#PB_Event_Menu, @OnTab(), 0, EventMenu(), #EVENT_TAB)
BindEvent(#PB_Event_Menu, @OnShiftTab(), 0, EventMenu(), #EVENT_SHIFT_TAB)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
OnShiftTab() is never triggered.
This code worked before 6.30, now it doesn't. Can anyone confirm?
UPDATE: Solution:
Code: Select all
CreateMenu(0,WindowID(0))
BindMenuEvent(0,#EVENT_TAB, @OnTab())
BindMenuEvent(0,#EVENT_SHIFT_TAB,@OnShiftTab())
Re: Shift-Tab event
Posted: Mon Feb 09, 2026 2:25 pm
by Mesa
Re: Shift-Tab event
Posted: Mon Feb 09, 2026 5:47 pm
by idle
didn't work on 6.21 either but this works 6.30
Code: Select all
Enumeration
#EVENT_TAB
#EVENT_SHIFT_TAB
EndEnumeration
Procedure OnTab()
Debug "OnTab()"
EndProcedure
Procedure OnShiftTab()
Debug "OnShiftTab()"
EndProcedure
OpenWindow(0, 0, 0, 500, 500, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CreateMenu(0,WindowID(0))
CanvasGadget(0, 0, 0, 500, 500)
AddKeyboardShortcut(0, #PB_Shortcut_Tab, #EVENT_TAB)
AddKeyboardShortcut(0, #PB_Shortcut_Shift | #PB_Shortcut_Tab, #EVENT_SHIFT_TAB)
BindMenuEvent(0,#EVENT_TAB, @OnTab())
BindMenuEvent(0,#EVENT_SHIFT_TAB,@OnShiftTab())
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Re: Shift-Tab event
Posted: Mon Feb 09, 2026 6:39 pm
by Drone
Code: Select all
Enumeration
#EVENT_TAB
#EVENT_SHIFT_TAB
EndEnumeration
Procedure OnTab()
Debug "OnTab()"
EndProcedure
Procedure OnShiftTab()
Debug "OnShiftTab()"
EndProcedure
OpenWindow(0, 0, 0, 500, 500, "", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CanvasGadget(0, 0, 0, 500, 500)
AddKeyboardShortcut(0, #PB_Shortcut_Tab, #EVENT_TAB)
AddKeyboardShortcut(0, #PB_Shortcut_Shift | #PB_Shortcut_Tab, #EVENT_SHIFT_TAB)
;BindEvent(#PB_Event_Menu, @OnTab(), 0, EventMenu(), #EVENT_TAB)
;BindEvent(#PB_Event_Menu, @OnShiftTab(), 0, EventMenu(), #EVENT_SHIFT_TAB)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Menu
Menu = EventMenu()
Select Menu
Case #EVENT_TAB
OnTab()
Case #EVENT_SHIFT_TAB
OnShiftTab()
EndSelect
EndIf
Until Event = #PB_Event_CloseWindow
This works without CreateMenu but no BindEvent or BindMenuEvent...
Re: Shift-Tab event
Posted: Thu Feb 12, 2026 9:05 pm
by Joubarbe
Thank you idle
