Shift-Tab event

Just starting out? Need help? Post your questions and find answers here.
Joubarbe
Enthusiast
Enthusiast
Posts: 755
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Shift-Tab event

Post 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())
Last edited by Joubarbe on Thu Feb 12, 2026 9:12 pm, edited 2 times in total.
Mesa
Enthusiast
Enthusiast
Posts: 473
Joined: Fri Feb 24, 2012 10:19 am

Re: Shift-Tab event

Post by Mesa »

User avatar
idle
Always Here
Always Here
Posts: 6202
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: Shift-Tab event

Post 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
Drone
User
User
Posts: 17
Joined: Fri May 03, 2019 10:21 pm

Re: Shift-Tab event

Post 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...
Joubarbe
Enthusiast
Enthusiast
Posts: 755
Joined: Wed Sep 18, 2013 11:54 am
Location: France

Re: Shift-Tab event

Post by Joubarbe »

Thank you idle :D
Post Reply