代码之家  ›  专栏  ›  技术社区  ›  Alex

rightMouseDown:在NSControl子类中未调用

  •  1
  • Alex  · 技术社区  · 16 年前

    我有一个 NSControl 子类(配置为层托管视图,尽管我怀疑这是否相关)。我一直在尝试编写代码来获取和显示上下文菜单。然而,两者都没有 menuForEvent: rightMouseDown: 被召唤。你知道这是什么原因吗?其他鼠标事件工作正常。

    顺便说一句,我不确定我是否必须打电话 事件菜单: 我自己,但医生让我听起来好像没有,这就是为什么我试图先覆盖它。不管怎样,我至少应该期待 右鼠标向下:

    相关:AppKit似乎无法将Ctrl+Click识别为鼠标右键单击。大概我必须检查一下这种情况 mouseDown: 右鼠标向下: 手动。但考虑到我看到的奇怪之处,还有其他方法吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   Septih    16 年前

    你把 -(NSView *)hitTest:(NSPoint)aPoint 子类中的方法?可能是鼠标事件正被视图中的另一个元素拾取,这将阻止 menuForEvent 被召唤。

    您认为menuForEvent应该自动调用是正确的。

        2
  •  1
  •   Peter Hosey    16 年前

    mouseDownCanMoveWindow YES ,视图(控件)将不会收到鼠标按下事件。

    如果这是你的问题,创建控件类的子类(如果它还不是子类),并实现该方法以返回 NO .