別の無関係なアプリへのフォーカスを維持しながら、アプリのウィンドウでキーボードやマウスのイベント(つまり、ユーザーがウィンドウのボタンをクリックする)を受信する方法はありますか?
[myWindow setLevel:NSPopUpMenuWindowLevel]を含め、さまざまなレベルでウィンドウを構成しようとしましたが、役に立ちませんでした。
別の無関係なアプリへのフォーカスを維持しながら、アプリのウィンドウでキーボードやマウスのイベント(つまり、ユーザーがウィンドウのボタンをクリックする)を受信する方法はありますか?
[myWindow setLevel:NSPopUpMenuWindowLevel]を含め、さまざまなレベルでウィンドウを構成しようとしましたが、役に立ちませんでした。
ビュー(少なくともマウスクリックを処理するビュー)がacceptsFirstMouse:
メッセージを送信NSApp
してpreventWindowOrdering
から戻ることでメッセージYES
に応答するようにすることで、ウィンドウの前面を並べ替えることなくマウスクリックを処理できるはずです。
アプリを前面に注文せずに入力を処理するようにしないでください。表示されているフィールドが別のウィンドウによって隠されている場合、ユーザーは入力がどこに向かっているのかわからない可能性があります。
それを見つけた。シンプルでありながらとらえどころのない。
NSPanelを使用して、パネルスタイルが非アクティブ化(NSNonactivatingPanelMask)であることを確認するか、IBのインスペクターで同じオプションにチェックマークを付けます。