Я пытаюсь научиться кодировать для Mac. Некоторое время я работал в Java, поэтому надеюсь, что проблема, с которой я столкнулся, заключается в простом недоразумении с Какао.
У меня есть следующий код:
-(IBAction)beginEventMonitor:(id)sender {
_eventMonitor = [NSEvent addGlobalMonitorForEventsMatchingMask:(NSLeftMouseUpMask)
handler:^(NSEvent *incomingEvent) {
//NSWindow *targetWindowForEvent = [incomingEvent window];
NSLog(@"Got a mouse click event at %@", NSStringFromPoint([incomingEvent locationInWindow]));
}];
}
-(IBAction)stopEventMonitor:(id)sender {
if (_eventMonitor) {
[NSEvent removeMonitor:_eventMonitor];
_eventMonitor = nil;
}
}
Это простой способ сообщить мне, когда происходит щелчок мышью на глобальном уровне. Обработчик работает, но содержимое входящего события, похоже, ничего не установлено. Единственная полезная информация, которую я могу найти, - это местоположение мыши во время щелчка и идентификатор окна того окна, в котором щелкнули.
Разве я не смогу получить больше информации? Я неправильно настраиваю монитор? Мне бы очень хотелось узнать, в каком окне щелкнули, но я даже не могу найти способ превратить местоположение мыши или windowId во что-то полезное.