0

ココア アプリケーションで偽のメニュー バーを作成しようとしています。必要なものの 95% を達成できましたが、メニュー バーだけが mainMenu と一致しません。私がこれまでに持っているものの下のスクリーングラブを参照してください。

システム メニュー バーをエミュレートするために、xib で「ポップアップ ボタン」オブジェクトを使用しています。問題は、これがポップアップ メニューであり、mainMenu とまったく同じように見えないことです。さらに、タイトル メニュー項目は強調表示されず、ポップアップ メニューの角が丸くなり、メニュー タイトルと重なります。だから、近いですが、葉巻はありません。

デフォルトのシステム メニュー バーと一致するボーダレス ウィンドウ内に偽のメニュー バーを作成することは可能ですか? もしそうなら、どのように?

また、NSStatusItem を使用してみました。これは、デフォルトで、ボタンで実現できたものよりもシステム メニュー バーによく一致しますが、NSStatusItem をウィンドウに埋め込むことはできませんでした。

理想的には、NSMenu を Windows ビューに直接埋め込む方法があれば、それが最適なソリューションです。

偽のメニューバー

偽のメニューバー

4

1 に答える 1

1

最上位アイテムのように見えて動作するカスタム ボタンまたはビューを作成しNSMenu、ビューのmenuアウトレットに を割り当てる必要があります。

次に、ビューに実装menuForEvent:してマウスが押されたときにメニューを返すか、マウスがクリックされたときにNSMenuクラス メソッドを呼び出すことができます。+popUpContextMenu:withEvent:forView:

ところで、これは少し奇妙な考えのようです。なぜやりたいのですか?

于 2012-04-19T22:50:01.137 に答える