Я пытаюсь научиться программировать для 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;
}
}
Это простой крючок, чтобы сказать мне когда щелчок мыши происходит на глобальном уровне. Обработчик работает, но похоже, что для содержимого incomingEvent ничего не установлено. Единственная полезная информация, которую я могу найти, - это местоположение мыши во время щелчка и windowId окна, в котором щелкнули.
Не следует ' • Могу ли я получить дополнительную информацию? Я неправильно настраиваю монитор? Я действительно хотел бы знать, в каком окне был выполнен щелчок, но я даже не могу найти способ превратить местоположение мыши или windowId во что-то полезное.