2011-07-21 2 views

答えて

2

私はあなたがメニューバーの上に行くことができることを信じていませんが、アプリケーションがあなたを聞かせなければならない

[[NSApplication sharedApplication] setPresentationOptions: NSApplicationPresentationAutoHideMenuBar]; 

を呼び出すことにより、最前面のアプリケーションであるときは、自動非表示にメニューバーを設定することができますアプリケーションのメニューバーに通常使用されるスペースを使用します。

13

はい、自明:

window.level = NSMainMenuWindowLevel + 1; 

(参考:Drawing to the Full Screen、マックOS XためのOpenGLプログラミングガイド)

sebastianmarkowが、これは通常のドキュメントウィンドウのひどい行動であるという点で正しいですこれが正常であるいくつかのウィンドウタイプがあります:カーソル、ツールヒント、Xscopeのような特殊ユーティリティです。

+2

まだメニューバーの上に行きません。 – mxg

+0

明確にしてください。そのウインドウレベルのウインドウはメニューバーの上には表示されませんが、AppKitではメニューバーと重なったタイトル付きウインドウを置くことはできません(いくつかの非常に奇妙な複数のスクリーン状況を除いて)。ドキュメントスタイルのウィンドウでこれをしたいのであれば、私の知る限り、あなたは運が悪いです。 –

3

私はJens Aytonの答えが好きでしたが、そのような任意の数を選ぶのではなく、定義した定数の1つを使用することが望ましいと思います。

個人的に、私はのようにNSPopUpMenuWindowLevelを使用:あなたは私の投稿この回答のように、好むかもしれない

self.window.level = NSPopUpMenuWindowLevel; 

その他の定数は、次のとおりです。

  • NSNormalWindowLevel
  • NSFloatingWindowLevel
  • NSSubmenuWindowLevel
  • NSNormalWindowLevel
  • NSMainMenuWindowLevel
  • NSStatusWindowLevel
  • NSModalPaneWindowLevel
  • NSPopUpMenuWindowLevel
  • NSScreenSaverWindowLevel

ここで参照だ(Appleは、彼らが彼らのドキュメントを整理し、長年にわたって、これらのリンクを破る方法を変更する傾向があり、しかし、APIはそれほど変わらないので、上記のリストを上に含めました。私は、このリンクは、3年かそこらで動作します疑うが、これらの定数は、おそらく今後20年間であまり変化はありません。)

https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSWindow_Class/Reference/Reference.html#//apple_ref/doc/constant_group/Window_Levels

+0

驚いたことに、私はこの回答を投稿してから4年近く経ちましたが、リンクはまだ機能しています。多分Appleは彼らの方法を変えて、物事を再編成して、結局リンクを切った。 – ArtOfWarfare

関連する問題