Leopard からは、Spotlight メニューのようにヘルプメニューに直接文字列を入力して検索できるようになりました。
プログラムの開発側からは、メニューバーに Help というタイトルを作れば自動的にシステムで検索メニューを付加してくれます。日本語の場合は「ヘルプ」というメニューがあるばそこに検索メニューが付加されます。
ところが拙作のソフトで、英語モードでは問題ないが、日本語モードのときにどうしても検索メニューが表示されないという症状にぶつかってしまいました。
約半日の試行錯誤の結果、以下のことが判明しました。
・メインメニューの「ヘルプ」の後になにか(例えばプラグインなど)のメニューを追加すると検索メニューが消えてしまう。
・この現象は、日本語モードときにおき、英語モードのときは発生しない。
というわけで、Leopardではへプルメニューの後にメニューを追加してはいけません。
また、Leopardでは、メニューアイテムに任意のNSViewをセットすることができるようになりましたが、残念ながらNSTextFieldやNSTextViewなどのキーボードイベントが必要なViewは動作しません。
ところが、Helpメニューのなかでは、キーボードイベントを受けてとることができ、NSTextFieldやNSTextView などのメニューアイテムも正しく動作します。
0 件のコメント:
コメントを投稿