0

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

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

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

谢谢!

4

1 回答 1

0

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

于 2014-05-26T14:28:19.393 回答