Page 1 of 1

Select Panels from Keyboard

Posted: Tue Nov 29, 2005 12:26 pm
by Jan2004
Code updated For 5.20+

Nothing special, but somebody may find usefull.

Select Tabs from keybord: Ctrl+n, Ctrl+e, Ctrl+l or (from menu): n, e, l.

Code: Select all

#Panel = 33
#Panel22 = 133
#Panel33 = 1332
#Panel44 = 1331



OpenWindow(0,0,0,400,200, "PanelResize",#PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MaximizeGadget | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)

If CreateMenu(0, WindowID(0))    ;
  MenuTitle("&Panels")
  MenuItem(1, "Pa&nel 1"   +Chr(9)+"Ctrl+n")
  MenuItem(2, "Pan&el 2"   +Chr(9)+"Ctrl+e")
  MenuItem(3, "Pane&l 3"+ Chr(9)+"Ctrl+l")
  
EndIf

PanelGadget(#Panel,15,15,370,140)
AddGadgetItem(#Panel,1,"Pa&nel1")
AddKeyboardShortcut(0,#PB_Shortcut_Control | #PB_Shortcut_N,#Panel22)
AddGadgetItem(#Panel,2,"Pan&el2")
AddKeyboardShortcut(0,#PB_Shortcut_Control | #PB_Shortcut_E,#Panel33)
AddGadgetItem(#Panel,3,"Pane&l3")
AddKeyboardShortcut(0,#PB_Shortcut_Control | #PB_Shortcut_L,#Panel44)



Repeat
  Event = WaitWindowEvent()
  Select Event
      
    Case #PB_Event_CloseWindow
      Quit = 1
    Case #PB_Event_Menu
      If EventMenu()=#Panel22
        SetGadgetState(#Panel,0)
      EndIf
      If EventMenu()=#Panel33
        SetGadgetState(#Panel,1)
      EndIf
      If EventMenu()=#Panel44
        SetGadgetState(#Panel,2)
      EndIf
      
      
      Select EventMenu()
          ;File Menu
        Case 1
          SetGadgetState(#Panel,0)
        Case 2
          SetGadgetState(#Panel,1)
        Case 3
          SetGadgetState(#Panel,2)
      EndSelect
  EndSelect
  
Until Quit = 1

Posted: Tue Nov 29, 2005 2:00 pm
by jb
Thanks for sharing. Very useful indeed. I was just searching for an example like this.