問題タブ [nsmenu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - Cocoa AppKit - モーダル ウィンドウ (つまり、ポップアップまたはコンテキスト メニュー) を閉じて、現在ホバーしているボタンを押す
基本的に、システムのメニュー バーで提供される効果を作成したいと考えています。ユーザーがメニューの見出しの 1 つを押して、さまざまな見出しを移動すると、メニューが自動的に開きます。
問題は、ボタンのポップアップ メニューを開くと、ユーザーがもう一度クリックして閉じる必要があることです。ポップアップメニューがモーダルだと思うので、ランループ全体が保留中です。ユーザーが次のボタンに移動したときに [somePopUpMenu cancelTracking] を送信できるようにするにはどうすればよいですか?
NSWindow サブクラスで現在試しているコードは次のとおりです。ポイントは、マウスがボタンから出ると、次のボタンでマウスが自動的にクリック (左下/左上) され、タイマーが無効になり、ポップアップ メニューがキャンセルされることです。
ポップアップ メニューが開いていて、マウスが存在すると仮定すると、leftdown/leftup イベントが発生し (これは、mouseDown と mouseUp の NSLog にログを記録するので、これが機能することがわかっています)、タイマーは無効になりますが、ポップアップ メニューは引き続き表示されます。偽のイベントによって「クリック」された他のボタンには何も表示されません。また、全体がループに陥り、何らかの理由で取り乱した mouseDown/mouseUp が送信されます。
hookToMenu には適切な参照がありますが、ポップアップ メニューが別のオブジェクトで作成されていることに注意してください (デバッグ/ステップ スルーで確認しました)。
イベント追跡タイマーを中断しているのか、間違った方法で実行しているのかはわかりません。ウィンドウコントローラーでも試してみましたが、同じ結果が得られました。
これに関する助けをいただければ幸いです。
cocoa - Apple Pro アプリのように NSMenu をカスタマイズするには?
NSMenu
でカスタマイズしたいNSMenuItems
ので、Apple Pro アプリのように見えますか。
しかし、どうすればカスタマイズできNSMenu
ますか? 外観を変更する draw メソッドはありません。aNSView
を aに設定するとNSMenuItem
、背景色を設定できますが、強調表示とメニュー処理が失われます。また、 の上下キャップはNSMenu
カスタマイズできません。
このヒントしか見つかりませんでしたが、残念ながらコードはありませんでした。
少しでもお役に立てば幸いです!
cocoa - NSMenu の代替メニュー項目
カスタムビューNSMenu
を含む があります。NSMenuItems
Alt ボタンを押すと、メニュー項目の外観の一部が (ビューを通じて) 変わるようにしたいのです。ドキュメントで見つけましsetAlternative
たがNSMenuItem
、実際にはNSMenuItems
カスタムビューなしでしか機能しませんでした。カスタム ビューを設定するとすぐに、すべてのメニュー項目が表示されます。また、メニューが開いている間にキープレスイベントを取得しようとしました。他の実行ループのためNSApplication's sendEvent:
、メニューが閉じられるまでイベントを受け取りません。したがって、入ってくるイベントを傍受することはできません。
メニューが開いているときに Alt キーが押されたときに、委譲またはサブクラス化によって通知を受け取る方法を知っている人はいますか?
cocoa - NSMenuの最初の項目が表示されない
プログラムで独自のNSMenuを作成し、ボタンを押すとポップアップします。
NSMenuItemsを作成し、NSMenuメソッドを使用して追加しますinsertItem:atIndex:
。
何らかの理由で、メニューのゼロの位置にあるアイテムは表示されません。これはメニューが機能することになっている方法ですか?
cocoa - シート表示時に使用できるメインメニュー
マウスでクリックされた、またはキーボードで呼び出されたメニュー項目にどのように反応しますか。例:CMD + Q?
cocoa - Cocoa: さまざまなメニュー項目からオブジェクト プロパティを変更する
観測されたオブジェクトの単一のプロパティをさまざまなメニュー項目から変更したい場合の経験則は何ですか (オプションのリストを考えてください)。
たとえば、車を 1 つのウィンドウに表示するアプリがあります。[黒、緑、青、赤、白など] のようないくつかのサブメニュー項目がある [色] というメニュー項目のあるメニューがあります。各サブメニュー項目が同じプロパティ (この場合は色) を異なる値に変更するように、この背後にあるメカニズムを実装するにはどうすればよいですか。
cocoa - WebViewにコンテキストメニューを追加する
簡単なものだと思います:
WebViewにコンテキストメニューを追加したい。
IBでは、NSMenuをNIBに追加し、それをWebViewのメニューアウトレットに接続して起動し、WebViewをコントロールクリックしてポップアップメニューを表示できるようになることを期待していました。コンテキストメニューで見たのは「リロード」だけです。同じ手順を実行できますが、メニューを他のビューに接続すると、期待どおりに機能します。
Webviewのメニューアウトレットに接続したときにメニューが同じように機能しないのはなぜですか?
ありがとう
objective-c - Apple は、開いている空港メニューをどのように更新しますか? (すでに開いているNSMenuを変更する方法)
NSMenu を開くステータスバー項目があり、デリゲート セットがあり、正しく接続されています (正常に動作し-(void)menuNeedsUpdate:(NSMenu *)menu
ます)。とは言っても、そのメソッドはメニューが表示される前に呼び出されるように設定されています。それをリッスンして非同期リクエストをトリガーし、後でメニューが開いている間に更新する必要がありますが、それがどのように行われるのかわかりません.
ありがとう :)
編集
わかりました、私は今ここにいます:
メニュー項目 (ステータス バー内) をクリックすると、NSTask を実行するセレクターが呼び出されます。通知センターを使用して、そのタスクがいつ終了するかをリッスンし、次のように記述します。
そして持っています:
メニューをクリックしてすぐにメニューに戻ると、この情報を含む更新されたメニューが表示されるため、このメソッドは確実に呼び出されます。問題は、メニューが開いている間は更新されないことです。
cocoa - NSMenu が追跡を開始しない
通常はバックグラウンドで(エージェントとして)動作する小さなココアアプリがあります。コンテキストメニューをポップアップできるようにしたい場合があります (現時点ではウィンドウや s.th. は表示されません)。
私はSnow Leopardのみをターゲットにしているので、これを試しました:
メニューは完全にポップアップ表示されますが、項目にマウス カーソルを合わせると、項目が強調表示されず、クリックできません。
menuItemSelected: メソッドは次のようになります。
私が間違っていることは何か分かりますか?
cocoa - NSMenuがアクティブ(表示)のときにどのように更新できますか?
私にはNSMenu
、Cocoaアプリとのすべての通信が行われるインスタンスがあります。メニューが開いているとバックグラウンドが実行されないので、メニューがアクティブなときに強制的に更新するにはどうすればよいですか?