2009-10-23 47 views
0

我有一箇舊的Mac C/C++程序,我正在維護。它仍然基於rsrc文件和OS 9系統調用。 (是的,我知道,我正在嘗試將我的公司拖入21世紀,但其他工程師仍在使用OSX10.3.9!請同情我)OSX 10.5和10.6中的MenuKey功能?

我試圖獲取修飾符快捷功能。例如,Cmd-S有效。但是,Opt-Cmd-S會閃爍「文件」菜單,但不會執行任何操作,除非文件菜單已打開。

我查看了我的代碼,發現我正在接收事件消息並將其傳遞給MenuKey,告訴我該組合鍵代表的菜單選項。但是,如果按下多個修飾符,MenuKey總是返回0。

我從蘋果文檔中看到,這已被棄用,但我寧願不必重新編寫整個程序以便移動到筆尖等等。

那麼,有沒有人有一個快速和骯髒的工作?

謝謝。

回答

1

那麼,幾乎所有的碳UI已被棄用(雖然MenuKey比其他一些比較不推薦)。這並不是說它仍然不被支持,但你應該用Cocoa來做任何新的開發(甚至10.3.9版本對你正在做的事情有很大的改進)。

如果您不習慣使用Carbon,請務必閱讀頭文件;那裏有很多文檔和有用的提示,這些提示並不在其他地方。你應該使用MenuEvent而不是MenuKey; MenuKey不支持Command鍵以外的其他修飾符。

+0

我似乎無法在mac網站上找到有關MenuEvent的任何文檔。 (或者是什麼,是所有的Java,而不是......)你能指點我一些C文檔嗎?謝謝。 – 2009-10-23 20:03:47

+0

http://developer.apple.com/legacy/mac/library/documentation/Carbon/Reference/Menu_Manager/Reference/reference.html#//apple_ref/doc/uid/TP30000227-CH1g-F03900 – 2009-10-23 22:58:25

+0

非常好!謝謝。另外,特別感謝指向傳統文檔的指針! – 2009-10-26 14:01:12