Select Panels from Keyboard

Share your advanced PureBasic knowledge/code with the community.
Jan2004
Enthusiast
Enthusiast
Posts: 163
Joined: Fri Jan 07, 2005 7:17 pm

Select Panels from Keyboard

Post 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
jb
User
User
Posts: 37
Joined: Wed Jul 14, 2004 11:58 pm
Location: United States

Post by jb »

Thanks for sharing. Very useful indeed. I was just searching for an example like this.
-jb
Post Reply