I'd like to be able to create an application's menu from scratch, without a nib file. I'm having problems doing so, I've looked around and seen some different code samples but nothing seems to work correctly.
The simplest case: int main(int argc, char *argv[]) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSApplication* app = [NSApplication sharedApplication]; NSMenu* appMenu = [[NSMenu alloc] initWithTitle:@"My App"]; [appMenu addItemWithTitle:@"Item 1" action:nil keyEquivalent:@""]; NSMenu* menu = [[NSMenu alloc] initWithTitle: @""]; NSMenuItem* mi = [menu addItemWithTitle:@"" action:nil keyEquivalent:@""]; [mi setSubmenu:appMenu]; //[NSApp performSelector:NSSelectorFromString(@"setAppleMenu:") withObject:menu]; //[app setAppleMenu:menu]; [app setMainMenu:menu]; [[NSApplication sharedApplication] run]; [pool release]; return 0; } Assuming my project is called "test7", this sort of works. It ends up creating a menu item and a sub menu, but there's *still* a "test7" menu item, just before the Apple menu item on the menu bar. Is there something I'm missing? If I try and call setAppleMenu, that does nothing. Is this even possible? Some of the code sample's I saw (from several years ago) made references to functions in the NSMenu class that don't seem to exist anymore, i.e. : [self setMainMenu: [NSMenu menuWithTitle: @"" submenus: [NSArray arrayWithObjects: [self applicationMenu], [self editMenu], [self windowMenu], [self helpMenu], nil]]]; There doesn't seem to be a menuWithTitle static class function anymore, or at least it's not documented. I tried searching the mailing list but the searches kept failing, so I'm emailing the list directly. Thanks Jim _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]