Menu, MenuName, Cmd
Posted: 18 Sep 2017, 04:44
If we could enhance the command Menu, MenuName, Cmd, so that even if a SubMenu does not exist, AHK will automatically build it without our knowledge. In the following code, we can build the popup menu in the sequence of Layer 1, Layer 2, Layer 2, Layer 1, Layer 2, Layer 2, which is clearer than how a popup menu needs to be built now--Layer 2, Layer 2, Layer 1, Layer 2, Layer 2, Layer 1. If AHK can automatically build any submenu if it does not exist, we do not need to code the initial statement to define Menus, G1 ~ G13. Thanks for reading!
Code: Select all
#singleinstance force
; must define all SubMenus,G1 ~ G13, first, to avoid seeing 「SubMenu does not exist」 error msg
Menu, G1, Add, USA, :G2
Menu, G2, Add, New York, MenuHandler
Menu, G2, Add, Los Angeles, MenuHandler
Menu, G2, Add, Chicago, MenuHandler
Menu, G2, Add, San Francisco, MenuHandler
Menu, G2, Add, Boston, MenuHandler
Menu, G1, Add, Abroad, :G3
Menu, G3, Add, Europe, :G4
Menu, G4, Add, Sweden, MenuHandler
Menu, G4, Add, Denmark, :G5
Menu, G5, Add, Copenhagen, MenuHandler
Menu, G5, Add, Tivoli Park, MenuHandler
Menu, G4, Add, Norway, :G6
Menu, G6, Add, Oslo, MenuHandler
Menu, G4, Add, Germany, :G7
Menu, G7, Add, Berlin, MenuHandler
Menu, G7, Add, the Rhine, MenuHandler
Menu, G4, Add, UK, :G8
Menu, G8, Add, London, MenuHandler
Menu, G8, Add, Liverpool, MenuHandler
Menu, G4, Add, France, :G9
Menu, G9, Add, Paris, MenuHandler
Menu, G9, Add, Marseille, MenuHandler
Menu, G3, Add, Asia, :G10
Menu, G10, Add, Japan, :G11
Menu, G11, Add, Tokyo, :G12
Menu, G12, Add, Shinjuku, :G13
Menu, G13, Add, East Gate, MenuHandler
Menu, G13, Add, Imperial Garden, MenuHandler
Menu, G11, Add, Osaka, MenuHandler
menu, G1, Add, leave
Menu, G1, Show, 1500, 500
return
MenuHandler:
MsgBox You selected "%A_ThisMenuItem%" from the menu %A_ThisMenu%.
return
leave:
menu, G1, DeleteAll
return
exit