【问题标题】:Right mouse click detection in NSTextFieldCellNSTextFieldCell 中的鼠标右键检测
【发布时间】:2014-05-26 13:16:08
【问题描述】:

我正在使用 NSTextFieldCell 的子类,并尝试在 NSTextFieldCell 子类上执行鼠标右键单击时显示上下文菜单。

MouseDown 和 rightMouseDown 不仅适用于 NSTextFieldCell 子类的对象,对于所有其他自定义子类,例如 NSButtonCell 的对象,一切正常。

有人可以帮忙解决这个问题吗?

谢谢!

【问题讨论】:

    标签: objective-c cocoa mouseevent nstextfieldcell


    【解决方案1】:

    NSCell 有一个可设置的 -(NSMenu*)menu 属性,可用于定义上下文菜单(重载 -menu 不够好)。一个 NSCell 与一个 NSControl 相关联。 NSControl (在你的情况下是 NSTextField 的实例)是 NSView 的超级,它有一个可设置的 -(NSMenu*)defaultMenu 属性来定义上下文菜单并响应 -(NSMenu*)menuForEvent: 如果你想创建上下文菜单在飞行中。 NSView 是 NSResponder 的超级,它也有一个 -(NSMenu*)menu 属性并响应 -(void)rightMouseDown/Dragged/Up:。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2014-07-10
      • 2023-03-20
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多