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 :D