在我的跨平台架构中,我想在鼠标单击事件期间单击上下文菜单(右键单击).在Cocoa中,您可以在mouseDown事件期间检测到用户在触摸板上按住Ctrl键单击或双击(右键单击等效项)吗?我知道NSView的menuForEvent,但不希望在这里处理它.
一般来说,-rightMouseDown:应该自动调用,但是我已经看到了不是这样的情况 - 这些可能会在Leopard中修补.
但是现在,在-mouseDown:我使用以下代码检查控制键是否关闭:
- (void)mouseDown:(NSEvent *)event; { if (event.modifierFlags & NSControlKeyMask) return [self rightMouseDown:event]; ... }
-会
如果您正在使用AppKit,并且想要在视图中检测到右键单击,则应该覆盖-[NSResponder rightMouseDown:]
.