1

私は、通常のココア ウィンドウと、カーボン ウィンドウで初期化されたココア ウィンドウの両方を作成するココア アプリケーションに取り組んでいます。すべてのウィンドウがすべてのアプリケーションの上に浮かんでいる必要があります。ココア ウィンドウの場合、ウィンドウ レベルを NSTornOffMenuWindowLevel に設定し、カーボン ウィンドウの場合、kUtilityWindowClass を使用します。どちらも問題なく動作し、ウィンドウは他のアプリケーションの上に浮かんでいますが、問題は、カーボン ウィンドウとココア ウィンドウのウィンドウ レベルが同じではないため、カーボン ウィンドウは常にココア ウィンドウの上に浮いていることです。他のアプリの上のフローティングを失うことなく、両方のウィンドウ タイプに同じウィンドウ レベルを与える方法はありますか? kUtilityWindowClass は、カーボンで他のアプリをフローティングできる唯一のウィンドウ クラスのように思われるので、ココアで同等のものを探しています...助けてくれてありがとう!

4

2 に答える 2

1

NSWindow.h を見ると、Cocoa ウィンドウ レベルが Core Graphics ウィンドウ レベルで定義されていることがわかります。たとえば、NSFloatingWindowLevelとして定義されていkCGFloatingWindowLevelます。これらのウィンドウ レベルが CGWindowLevel.h で定義されている場所を見ると、選択肢の 1 つが ですkCGUtilityWindowLevel。それは に相当するものとして私の推測ですkUtilityWindowClass

于 2012-07-20T17:52:58.360 に答える
0

正確にはわかりませんが、実験することはできます。私はNSModalPanelWindowLevel(上記の1つ NSTornOffMenuWindowLevelNSMainMenuWindowLevel、、、、NSStatusWindowLevelおよびを試してみNSPopUpMenuWindowLevelます。これらは、比較的低いものから高いものまで、他の利用可能なレベルです。

于 2012-07-20T16:06:32.207 に答える