私は、通常のココア ウィンドウと、カーボン ウィンドウで初期化されたココア ウィンドウの両方を作成するココア アプリケーションに取り組んでいます。すべてのウィンドウがすべてのアプリケーションの上に浮かんでいる必要があります。ココア ウィンドウの場合、ウィンドウ レベルを NSTornOffMenuWindowLevel に設定し、カーボン ウィンドウの場合、kUtilityWindowClass を使用します。どちらも問題なく動作し、ウィンドウは他のアプリケーションの上に浮かんでいますが、問題は、カーボン ウィンドウとココア ウィンドウのウィンドウ レベルが同じではないため、カーボン ウィンドウは常にココア ウィンドウの上に浮いていることです。他のアプリの上のフローティングを失うことなく、両方のウィンドウ タイプに同じウィンドウ レベルを与える方法はありますか? kUtilityWindowClass は、カーボンで他のアプリをフローティングできる唯一のウィンドウ クラスのように思われるので、ココアで同等のものを探しています...助けてくれてありがとう!
2 に答える
1
NSWindow.h を見ると、Cocoa ウィンドウ レベルが Core Graphics ウィンドウ レベルで定義されていることがわかります。たとえば、NSFloatingWindowLevel
として定義されていkCGFloatingWindowLevel
ます。これらのウィンドウ レベルが CGWindowLevel.h で定義されている場所を見ると、選択肢の 1 つが ですkCGUtilityWindowLevel
。それは に相当するものとして私の推測ですkUtilityWindowClass
。
于 2012-07-20T17:52:58.360 に答える
0
正確にはわかりませんが、実験することはできます。私はNSModalPanelWindowLevel
(上記の1つ NSTornOffMenuWindowLevel
)NSMainMenuWindowLevel
、、、、NSStatusWindowLevel
およびを試してみNSPopUpMenuWindowLevel
ます。これらは、比較的低いものから高いものまで、他の利用可能なレベルです。
于 2012-07-20T16:06:32.207 に答える