当我收到mouseDragged事件时,如何判断它是拖动窗口还是只是文件?

时间:2011-11-23 04:11:02

标签: cocoa events drag

我想在拖动文件而不是窗口时响应拖动事件。 我得到了mouseDragged这样的事件:

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

1 个答案:

答案 0 :(得分:0)

拖放系统在事件处理系统的顶部实现。事件处理系统(这是你正在监视的)没有被拖动的概念,只是发生鼠标拖动。

如果您想知道被拖动的内容,则需要在拖动开始时记录鼠标的位置,并使用它来计算被拖动的内容。您可以使用辅助功能API。