OSX 10.5 和 10.6 中的 MenuKey 功能?

Posted

技术标签:

【中文标题】OSX 10.5 和 10.6 中的 MenuKey 功能?【英文标题】:MenuKey functionality in OSX 10.5 and 10.6? 【发布时间】:2009-10-23 15:16:22 【问题描述】:

我正在维护一个旧的 mac C/C++ 程序。它仍然基于 rsrc 文件和 OS 9 系统调用。 (是的,是的,我知道。我正试图将我的公司拖入 21 世纪,但另一位工程师仍在使用 OSX10.3.9!请可怜我)

我正在尝试获得修饰符快捷方式功能。例如,Cmd-S 有效。但是,Opt-Cmd-S 会闪烁“文件”菜单,但不执行任何操作,除非文件菜单已打开。

我查看了我的代码,发现我正在获取事件消息并将其传递给 MenuKey 以告诉我组合键代表什么菜单选项。但是,如果按下多个修饰符,MenuKey 总是返回 0。

我从苹果文档中看到这已被弃用,但我宁愿不必重新编写整个程序就可以迁移到 nib 等等。

那么,有没有人有一个快速而肮脏的工作?

谢谢。

【问题讨论】:

【参考方案1】:

好吧,几乎所有的 Carbon UI 已被弃用(尽管 MenuKey 比其他一些位更被弃用)。这并不是说它仍然不受支持,但是您应该改用 Cocoa 进行任何新的开发(即使是 10.3.9 上的版本也比您正在做的事情有了很大的改进)。

如果您不习惯使用 Carbon,请务必阅读头文件;那里有很多其他地方没有的文档和有用的提示。您应该使用 MenuEvent 而不是 MenuKey; MenuKey 不支持 Command 键以外的修饰符。

【讨论】:

我似乎在 mac 站点上找不到有关 MenuEvent 的任何文档。 (或者有什么,全是Java……)你能指点我一些C 文档吗?谢谢。 developer.apple.com/legacy/mac/library/documentation/Carbon/… 太棒了!谢谢。另外,特别感谢您提供指向旧版文档的指针!

以上是关于OSX 10.5 和 10.6 中的 MenuKey 功能?的主要内容,如果未能解决你的问题,请参考以下文章

OS X 10.5 malloc 中的错误?

在 OSX 10.5 中向后移植 NSWindowDelegates windowDidEndLiveResize 行为?

10.5~10.6复习与预习的进行

10.6的arcgismxd软件怎么用10.5打开

10.6之补10.5

OSX服务器-组电子邮件启用程序v0.2