gpt4 book ai didi

objective-c - 模拟鼠标点击 Cocoa 中的菜单项?

转载 作者:行者123 更新时间:2023-12-03 16:36:25 24 4
gpt4 key购买 nike

例如,我有一个标题为“History”的 NSMenuItem 类型变量。我需要一个键盘快捷键 Meta+h 来执行与单击此菜单项相同的操作(弹出子菜单列表)..

我认为可能有两种方法来实现这一点:

1.将此菜单项绑定(bind)到键盘快捷键,然后当快捷键被触发时,Cocoa将触发执行属于该菜单项的操作

2.未将键盘快捷键绑定(bind)到该项目。为Meta+h创建一个EventHandler,当事件激活时,模拟鼠标点击菜单项。

但是,这两种方法目前都不起作用。

对于键盘快捷键,有一个名为 setKeyEquivalent 的方法,但它使用 Command 而不是 Meta 作为修饰符。其结果是执行绑定(bind)到菜单项的操作,而不是弹出子菜单。

对于模拟鼠标点击,在Cocoa的NSMenuItem引用中,我还没有看到如何将click这样的事件发送到NSMenuItem ..

有人对此有什么想法吗?谢谢!

最佳答案

[menuItem setKeyEquivalent:@" "];  
[menuItem setKeyEquivalentModifierMask:0];

与任何这些修饰键掩码(使用 C 按位​​ OR 运算符组合):

  • NSShiftKeyMask
  • NSAlternateKeyMask
  • NSCommandKeyMask
  • NSControlKeyMask

(顺便说一句,Apple's docs 真的很有用!)

关于objective-c - 模拟鼠标点击 Cocoa 中的菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22005871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com