NSPanel
このユースケースは非定型であることを理解していますが、特定の状況でのみ、非アクティブ化する方法を見つけようとしています。
NSPanel
で初期化されている場合NSNonactivatingPanelMask
(またはパネルの「非アクティブ化」プロパティがInterface Builderでチェックされている場合)、コードの後半でスタイルマスクを変更しても、ウィンドウの動作には影響しません。
[panel setStyleMask:([panel styleMask] | NSNonactivatingPanelMask)];
styleMask
プロパティを調べると、がオンになっていることがNSNonactivatingPanelMask
わかりますが、タイトルバーをクリックしてもアプリケーションはアクティブになります。
逆もまた真です。NSNonactivatingPanelMask
コードでマスクを初期化して([panel styleMask] & ~NSNonactivatingPanelMask)
後で設定しても、ウィンドウの動作には影響がないため、タイトルバーがクリックされたときにアプリケーションがアクティブ化されません。
ウィンドウにスタイルマスクを再解釈するように指示する方法など、これに対する簡単な回避策はありますか?そうでない場合、最適な代替手段は何ですか?