Remove shortcut 'TAB' destroy Z-Order tab key from Window.
OS: Windows and Linux
Code:
AddKeyboardShortcut(0, #PB_Shortcut_Tab, #MenuItem_TabKey)
RemoveKeyboardShortcut(0, #PB_Shortcut_Tab)
Solution for Windows
Code:
;-TOP
#MenuItem_TabKey = 1001
Global TabOn = #True
Procedure DoEventTabKey()
Protected hWnd, gadget
If TabOn
gadget = GetActiveGadget()
If gadget >= 0
hWnd = GetNextDlgTabItem_(WindowID(GetActiveWindow()), GadgetID(gadget), 0)
If hWnd
SetFocus_(hWnd)
EndIf
EndIf
EndIf
EndProcedure
If OpenWindow(0, 0, 0, 110, 80, "ABC", #PB_Window_ScreenCentered | #PB_Window_SystemMenu)
CreateMenu(0, WindowID(0))
ButtonGadget(0, 5, 5, 100, 20, "Tab-Shortcut")
StringGadget(1, 5, 30, 100, 20, "AA")
StringGadget(2, 5, 55, 100, 20, "BB")
BindMenuEvent(0, #MenuItem_TabKey, @DoEventTabKey())
AddKeyboardShortcut(0, #PB_Shortcut_Tab, #MenuItem_TabKey)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
Case #PB_Event_Gadget
Select EventGadget()
Case 0
If TabOn
TabOn = #False
Debug "Tab Off"
Else
TabOn = #True
Debug "Tab On"
EndIf
EndSelect
EndSelect
ForEver
EndIf