首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rightMouseDown:未在NSControl子类中调用

rightMouseDown:未在NSControl子类中调用
EN

Stack Overflow用户
提问于 2009-09-07 02:24:40
回答 2查看 1.7K关注 0票数 1

我有一个NSControl子类(它被配置为一个层托管视图,尽管我怀疑它是否相关)。我一直在尝试编写代码来获取和显示上下文菜单。但是,menuForEvent:rightMouseDown:都不会被调用。知道是什么原因造成的吗?其它鼠标事件工作正常。

顺便说一句,我不确定是否必须自己调用menuForEvent:,但文档让它听起来好像不需要,这就是为什么我首先尝试覆盖它。无论如何,我至少应该期望rightMouseDown:被称为…

相关: AppKit似乎无法将Ctrl+Click识别为鼠标右键单击。大概我必须在mouseDown:中检查这个条件,然后手动调用rightMouseDown:。但是考虑到我所看到的怪异之处,有没有其他方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-07 10:23:20

您的子类中包含-(NSView *)hitTest:(NSPoint)aPoint方法了吗?这可能是鼠标事件正在被视图中的另一个元素拾取,这将阻止调用menuForEvent

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

票数 1
EN

Stack Overflow用户

发布于 2009-09-07 06:58:18

mouseDownCanMoveWindow检查它的返回值。文档不是非常清楚,但暗示如果此方法返回YES,视图(控件)将不会获得鼠标按下事件。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1387334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档