2016-01-03 7 views
0

Вот мой цикл событий:Типы, определяемые комплектом приложений

while (!shutdown_now_) 
    { 
     NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; 
     NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask 
              untilDate:[NSDate distantFuture] 
               inMode:NSDefaultRunLoopMode 
               dequeue:YES]; 
     if (event.type == NSAppKitDefined) 
     { 
      NSLog(@"NSAppKitDefinedEvent with subtype: %d", event.subtype); 
     } 
     if (event) [NSApp sendEvent:event]; 
     [pool drain]; 
    } 

Типы, определяемые комплектом приложений являются:

enum { 
    NSWindowExposedEventType = 0, 
    NSApplicationActivatedEventType = 1, 
    NSApplicationDeactivatedEventType = 2, 
    NSWindowMovedEventType = 4, 
    NSScreenChangedEventType = 8, 
    NSAWTEventType = 16 
}; 

Но, я получаю другие перечислений, такие как: 9,21,22,30 и Больше. Где эти типы определены?

+1

Обратите внимание, что это не сработает; вы не выполняете цикл запуска основного потока, если вы это сделаете, и, таким образом, все виды служб, которые полагаются на этот цикл основного запуска, не будут работать. – bbum

ответ

1

Вы используете неправильное перечисление (NSEventSubtype). event.type имеет тип NSEventType.

enum NSEventType : UInt { 
    case LeftMouseDown 
    case LeftMouseUp 
    case RightMouseDown 
    case RightMouseUp 
    case MouseMoved 
    case LeftMouseDragged 
    case RightMouseDragged 
    case MouseEntered 
    case MouseExited 
    case KeyDown 
    case KeyUp 
    case FlagsChanged 
    case AppKitDefined 
    case SystemDefined 
    case ApplicationDefined 
    case Periodic 
    case CursorUpdate 
    case ScrollWheel 
    case TabletPoint 
    case TabletProximity 
    case OtherMouseDown 
    case OtherMouseUp 
    case OtherMouseDragged 
    case EventTypeGesture 
    case EventTypeMagnify 
    case EventTypeSwipe 
    case EventTypeRotate 
    case EventTypeBeginGesture 
    case EventTypeEndGesture 
    case EventTypeSmartMagnify 
    case EventTypeQuickLook 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^