我想要检测鼠标按下而非点击的事件。以下是我的代码,但我希望能够检测到鼠标按下而不是点击次数。
-(void)mouseDown:(NSEvent *)event;
{
//instead of clickCount I want my if statement to be
// if the mouse is being held down.
if ([event clickCount] < 1)
{
}
else if ([event clickCount] > 1)
{
}
}
mouseDown
事件发生时,计算机无法预测用户是否会继续按住鼠标按钮。通常,为了实现拖放功能,你只需要在mouseDown
事件中找出正在被拖动的内容,在mouseUp
事件中像 Kristian 所述一样观察并确定物品被放置的位置,并处理mouseMoved
(或其他名称)事件(检查mouseIsHeldDown
)以查看是否正在拖动某些内容。 - Mike DeSimonemouseDown
中设置某种类型的延迟回调。如果鼠标释放,则清除回调,如果回调触发,则鼠标按钮至少按下了该时间量。这类似于键盘重复工作原理。 - Mike DeSimone