当前位置: 首页 > 知识库问答 >
问题:

在关联菜单操作上获取右键单击事件的位置

贲培
2023-03-14

我的自定义NSView子类重写菜单(for:),以便在右键单击(ctrl单击)时显示上下文菜单。

我创建了一个带有适当目标/操作的菜单项,并将其添加到菜单中。

我想实例化一个子视图,并将其放置在最初发生右键单击的位置;然而,目前尚不清楚如何获取导致菜单显示的原始点击事件的位置。

action方法的sender参数获取NSMenuItem实例,但它似乎没有任何属性来确定其在屏幕上的位置(或其superview)。

如何确定初始右键单击事件的位置?

共有1个答案

翟善
2023-03-14

您必须将传递到菜单(for:)的事件存储(位置)。您可以使用菜单项的representedObject。

 类似资料:
  • 我有一个java程序,当在JPanel中右键单击时打开弹出菜单。当任何弹出菜单项被单击时,我想打印触发终端中弹出菜单的右键单击的位置。我该怎么办?我如何从弹出操作事件中获取右键单击发生的位置? 如果弹出菜单位于JComponent中,代码将如何更改? 这是节目。

  •  点下鼠标右键后呼叫的 KAG 的游戏界面。  例如使用右键来调出存储/读取画面。 总之先上范例  调用右键菜单的指令是 rclick 。使用这个指令、可以设定点下右键后呼叫的剧本段落。此外,也可以不使用呼叫(调用菜单后,使用return可以返回游戏),而是直接跳转到某个标签(右键跳跃后无法返回,等同于jump)。  例如,在 rlick.ks 里写入以下内容。 例: *rclick @rclic

  • 问题内容: 右键单击Javascript事件吗?如果可以,该如何使用? 问题答案: 正如其他人提到的那样,可以[通过常规鼠标事件(mousedown,mouseup,click)检测[鼠标右键。但是,如果在弹出右键单击菜单时正在寻找触发事件,那么您所寻找的位置是错误的。也可以通过键盘(在Windows和某些Linux上为shift + F10或上下文菜单键)访问右键单击/上下文菜单。在这种情况下,

  • 问题内容: 在我的三个按钮上,鼠标=中键单击和=右键单击。 两键鼠标就是这种情况吗? 谢谢 问题答案: 为了避免任何歧义,请使用SwingUtilities中的实用程序方法:

  • 问题内容: 我想知道是否有最佳实践/正确的方法来为React组件设置右键菜单。 我目前有这个… 可以,但是感觉有点混乱,我想知道是否还有其他方法可以使用,任何信息将不胜感激, 谢谢! 问题答案: 更新: 想通了-这是您可以做的 在渲染中,您可以将函数传递给onContextMenu,以使该react组件发生右键单击。

  • 问题内容: 我想阻止标准上下文菜单,并手动处理右键单击事件。 怎么做? 问题答案: 使用事件。 这是一个例子: 并使用事件监听器: 不要忘记返回false,否则仍会弹出标准上下文菜单。 如果要使用编写的函数而不是,请记住在函数和属性中都返回false 。