非常にまれにしか使用されないメニュー項目をアプリケーションのメインメニューに追加したいと思います。デフォルトで非表示にし、ユーザーがOptionキーを押したときにのみ表示したい。どうすればこれを行うことができますか?
処理する必要があるようですflagsChanged:
が、これはNSResponder
のメソッドであり、 ?NSMenu
から継承しません。NSResponder
メインウィンドウコントローラー内で試してみましたが、メニューをクリックする前にOptionキーを押すと機能します。次の使用例は機能しません。メニュー項目をクリックし(項目がありません)、オプションキーを押します—項目が表示され、オプションキーを離します—項目が消えます。
NSEventも試しましaddLocalMonitorForEventsMatchingMask:handler:
たaddGlobalMonitorForEventsMatchingMask:handler:
がNSFlagsChangedMask
、メインメニューが開いているときにオプションキーを押すと、ローカルハンドラーもグローバルハンドラーも起動されません。
これどうやってするの?