Re: Initializing the menubar without Interface Builder
Re: Initializing the menubar without Interface Builder
- Subject: Re: Initializing the menubar without Interface Builder
- From: Jeff Johnson <email@hidden>
- Date: Sat, 3 Nov 2007 12:37:02 -0500
Rob,
I wrote a series of short articles about this a few months ago. The
latest is at <http://lapcatsoftware.com/blog/2007/07/10/working-
without-a-nib-part-5-open-recent-menu/>. The technique should still
work on Leopard, though it's using a deprecated method. I'll write a
new article soon about a non-deprecated technique that works on Leopard.
-Jeff
On Nov 3, 2007, at 12:12 PM, Robert Nikander wrote:
Hi all,
How do I setup the menu bar if I'm not using Interface Builder?
Here's some sample code that pops up a window, but there are no menus.
I could answer this myself if I could see the source code for
NSApplicationMain, but that's not available, correct?
thank you,
Rob
#import <Cocoa/Cocoa.h>
int main()
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSApplication *app = [NSApplication sharedApplication];
id window = [[NSWindow alloc] initWithContentRect: NSMakeRect
(10,10,100,100)
styleMask: NSTitledWindowMask |
NSResizableWindowMask | NSClosableWindowMask |
NSMiniaturizableWindowMask
backing: NSBackingStoreBuffered
defer: NO];
[window makeKeyAndOrderFront: window];
id m = [[NSMenu alloc] initWithTitle: @"Test Menu"];
id mi = [[NSMenuItem alloc] initWithTitle: @"Test Menu Item"
action: nil
keyEquivalent: @""];
[m addItem: mi];
printf ("mainMenu: %p\n", [app mainMenu]);
[app setMainMenu: m];
[NSMenu setMenuBarVisible: YES];
[app run];
[pool release];
}
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden