【问题标题】:Programmatically adding glyphs (delete key, backspace, space, etc) to menu item以编程方式将字形(删除键、退格、空格等)添加到菜单项
【发布时间】:2010-07-18 15:54:59
【问题描述】:

以前在 Carbon 中你可以使用 SetMenuItemKeyGlyph。 10.6下的替代方案是什么?我需要使用无证的善良还是...?

谢谢

【问题讨论】:

    标签: cocoa macos menu nsmenuitem glyph


    【解决方案1】:

    使用-[NSMenuItem setKeyEquivalent:] 并给它一个NSString 你想使用的字符。 NSMenuItem 将为您处理将@" " 翻译成Space 等。

    删除键(又名“退格键”。这是键盘上的常规删除按钮):

    [myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x08]];
    

    转发删除键(“del”键):

    [myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x7f]];
    

    空格:

    [myMenuItem setKeyEquivalent:@" "];
    

    标签:

    [myMenuItem setKeyEquivalent:[NSString stringWithFormat:@"%c", 0x09]];
    

    【讨论】:

    • 太棒了,谢谢!你知道我可以在哪里调出弹出、退出和光标箭头键的代码吗?谢谢
    • 并非 Menus.h 中的所有字形代码都可以使用,因为 Cocoa 会移位其中的一些字形代码,包括箭头键。在 Cocoa 中有这些的枚举。 NSUpArrowFunctionKey = 0xF700,NSDownArrowFunctionKey = 0xF701,NSLeftArrowFunctionKey = 0xF702,NSRightArrowFunctionKey = 0xF703
    • 您也可以直接使用常量代替字符代码,例如NSBackspaceCharacter代替0x08。有关常量列表,请参阅 Apple 的 NSText reference document
    • Swift: keyEquivalent = NSString(format: "%c",NSBackspaceCharacter) as String
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 2013-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多