[objective-c]windowを表示してみる。 2008/11/11
2011/01/11

Objective-Cです。cocoaです。
とりあえず、windowを表示してみたいと思いました。
NSWindowというのはわかったんですが、アプリケーションを作成するお作法がわかりません。
NSApplicationというのがアプリケーションの中心にいるのかな。

NSWindow Class Reference

xcodeをつかわずエディターで。

gcc *.m -framework Foundation -framework AppKit


アプリケーションの終了のさせ方がわからないので、とりあえず表示してほったらかしなコードです。
終了させるときはctrl + cで...

#import <Cocoa/Cocoa.h>
@interface A:NSObject{
NSWindow *win;
}
-(void)go;
@end
@implementation A

- (void)go{
NSRect contrect;
contrect.size.width = 200;
contrect.size.height = 200;
contrect.origin.x = 100;
contrect.origin.y = 500;
NSUInteger wstyle = NSClosableWindowMask | NSTitledWindowMask;
win = [[NSWindow alloc] initWithContentRect:contrect styleMask:wstyle backing:NSBackingStoreBuffered defer:NO];
[win setReleasedWhenClosed:YES];
[win orderFront:nil];
}

- (void)applicationDidFinishLaunching:(NSNotification*)notification
{
NSLog(@"OK\n");
[self go];
}
@end


int main(int argc, const char *argv[]) {
id app = [NSApplication sharedApplication];
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
A *a = [A alloc];
[a autorelease];
[app setDelegate:a];
[app run];
return 0;
}

: