Next: Creating a standard info Up: Menus Previous: Fun with NSMenuItem's target

Creating sub-menus

Creating sub-menus is quite easy. For example, to add an Info... sub-menu to your main application menu, you first create a menu representing it:
NSMenu *infoMenu;

infoMenu = AUTORELEASE ([NSMenu new]);
[infoMenu addItemWithTitle: @"Info Panel..." 
          action: @selector (orderFrontStandardInfoPanel:) 
          keyEquivalent: @""];
[infoMenu addItemWithTitle: @"Help..." 
          action: @selector (orderFrontHelpPanel:)
          keyEquivalent: @"?"];
Then, you create an item in the main menu for your info menu, but instead of setting an action and a target for that item, you set the infoMenu as the sub-menu corresponding to that item:
NSMenuItem *menuItem;

menuItem = [menu addItemWithTitle: @"Info..." 
                 action: NULL 
                 keyEquivalent: @""];
[menu setSubmenu: infoMenu  forItem: menuItem];



Nicola Pero 2000-07-21