2009-05-31 2 views

ответ

2

Если вы хотите отобразить существующее окно (которое вы создали с помощью Interface Builder), вы просто вызываете makeKeyAndOrderFront на свой оконный объект.
Если вы хотите создать новое окно программно, вы найдете ответ here.

0

Для обработки событий вы должны реализовать соответствующие методы NSResponder в подклассе NSView или NSViewController. Например, вы можете реализовать mouseDown: и -mouseUp: для обработки щелчков мышью (довольно упрощенно):

- (void) mouseDown: (NSEvent *) event 
{ 
    if ([event type] != NSLeftMouseDown) 
    { 
     // not the left button, let other things handle it 
     [super mouseDown: event]; 
     return; 
    } 

    NSPoint location = [self convertPoint: [event locationInWindow] fromView: nil]; 
    if (!NSPointInRect(location, self.theRect)) 
    { 
     [super mouseDown: event]; 
     return; 
    } 

    self.hasMouseDown = YES; 
} 

- (void) mouseUp: (NSEvent *) event 
{ 
    if ((!self.hasMouseDown) || ([event type] != NSLeftMouseUp)) 
    { 
     [super mouseUp: event]; 
     return; 
    } 

    NSPoint location = [self convertPoint: [event locationInWindow] fromView: nil]; 
    if (!NSPointInRect(location, self.theRect)) 
    { 
     [super mouseDown: event]; 
     return; 
    } 

    self.hasMouseDown = NO; 

    // mouse went down and up within the target rect, so you can do stuff now 
} 
Смежные вопросы