在NSTextFieldCell中单击鼠标右键

时间:2014-05-26 13:16:08

标签: objective-c cocoa mouseevent nstextfieldcell

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

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