0

NSButton 忽略了靠得太近的点击。

如果我慢慢点击,所有点击都会被确认,但如果我开始加快速度,它会在某个时刻停止发送 mouseDown: 事件。如果我然后放慢速度,在某个点上,所有点击都会再次开始传播。

对于这个应用程序中的几个按钮,会发生锤击,并且没有理由不允许它。

我试过 setIgnoresMultiClick:,但它不会改变行为。

我尝试继承 NSButton,覆盖 mouseDown:,重新创建事件对象的副本,但按钮计数设置为 1。

还是没有骰子。

有人知道这里的诀窍吗?

半解决(......虽然有缺点)。

可能有六种方法可以做到这一点,但这是我启用按钮锤击的方法......

@interface HammerClickWindow : NSWindow {;;}
@end

@implementation HammerClickWindow
- (void)sendEvent:(NSEvent *)event
{
    if ( event.type == NSLeftMouseDown )
    {
        [super sendEvent:[NSEvent mouseEventWithType:event.type location:event.locationInWindow modifierFlags:event.modifierFlags timestamp:event.timestamp windowNumber:event.windowNumber context:event.context eventNumber:event.eventNumber clickCount:1 pressure:event.pressure]];
    }
}
@end

如果有人知道如何做到这一点,它 (A) 不会影响窗口中 100% 的鼠标按下,并且 (B) 只能影响特定的按钮......那就太好了。

4

1 回答 1

0

您需要更改系统偏好设置 - 鼠标 - 双击速度 - 快速

于 2014-09-17T21:34:19.993 回答