【问题标题】:How can I set the key equivalent display for a menu item to more than one character?如何将菜单项的键等效显示设置为多个字符?
【发布时间】:2011-12-09 15:54:36
【问题描述】:

我有一个应用程序使用由多个“普通”(非元)键组成的组合键,例如 Command + Space + Right Arrow。我使用可以正常工作的特殊方法捕获此问题,但我想在菜单项中显示此等效键以通知用户其可用性,例如:

DoSomething Cmd_>

(Command Space Right Arrow)

NSMenuItem setKeyEquivalent 只接受一个字符,例如@" " 表示空格,但我需要在此字段中显示多个等效的普通键。

如何做到这一点?

【问题讨论】:

  • 您是否尝试将多字符串设置为等效键?
  • 是的,不允许使用多字符串。

标签: objective-c macos cocoa


【解决方案1】:

NSMenuItem 非常不灵活。您必须在菜单项上设置自定义视图并自己绘制标题、突出显示、动画等。可能不值得努力。

【讨论】:

    【解决方案2】:

    不能。菜单项的等效键是单次击键或带有修饰符(Shift、Cmd 等)的击键。Cocoa 不支持和弦(一系列独立按下的键)。

    你想要完成什么?可能还有其他方法可以做到。

    【讨论】:

    • 我正在尝试为我的“和弦”键等效项提供一些上下文帮助。菜单项将保持禁用状态,并且仅出于帮助目的而出现在菜单中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多