Когда я получаю событие mouseDragged, как я могу узнать, перетаскивает ли оно окно или просто файл? - PullRequest
0 голосов
/ 23 ноября 2011

Я хочу ответить на событие перетаскивания, когда оно перетаскивает файл, но не окно.Я получил событие mouseDragged, подобное этому:

[NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDraggedMask 
                                       handler: ^(NSEvent *mouseDraggedEvent){
                                               //do something with event
                                               }];

1 Ответ

0 голосов
/ 23 ноября 2011

Система перетаскивания реализована поверх системы обработки событий. Система обработки событий (то, что вы отслеживаете) не имеет понятия о том, что перетаскивается, просто происходит перетаскивание мышью.

Если вы хотите знать, что перетаскивается, вам нужно будет записать местоположение мыши в начале перетаскивания и использовать ее для расчета того, что перетаскивается. Для этого вы можете использовать специальные API.

...