OSX 10.5および10.6のMenuKey機能?
質問
私が保守しているOLD mac C / C ++プログラムがあります。まだrsrcファイルとOS 9システムコールに基づいています。 (はい、はい、知っています。会社を21世紀に引きずり込もうとしていますが、他のエンジニアはまだOSX10.3.9を使用しています!残念です)
修飾子のショートカット機能を取得しようとしています。たとえば、Cmd-Sが機能します。ただし、Opt-Cmd-Sは「ファイル」を点滅させます。メニュー、ただし何もしません。ファイルメニューが既に開いている場合を除きます。
コードを調べたところ、イベントメッセージを取得してMenuKeyに渡し、キーコンボが表すメニューオプションを教えていることがわかりました。ただし、複数の修飾子が押された場合、MenuKeyは常に0を返します。
Appleのドキュメントから、これは廃止されたことがわかりますが、nibsなどに移行するためにプログラム全体を書き直す必要はありません。
だから、誰もが迅速かつ汚い回避策を持っていますか?
ありがとう。
解決
まあ、Carbon UIのほぼすべての は非推奨になりました(ただし、MenuKeyは他のビットよりも非推奨です)。まだサポートされていないというわけではありませんが、代わりにCocoaを使用して新しい開発を行う必要があります(10.3.9のバージョンでさえ、現在の作業よりも大幅に改善されています)。
Carbonの操作に慣れていない場合は、ヘッダーファイルを必ず読んでください。そこには多くのドキュメントと有用なヒントがあり、それらは他のどこにもありません。 MenuKeyの代わりにMenuEventを使用する必要があります。 MenuKeyは、Commandキー以外の修飾子をサポートしていません。