1

現在のカーソル位置にズームを表示するカスタムパネルを作成したいと思います。たとえば、「Sip」のように。Webで例を検索しましたが、具体的なものは見つかりませんでした。

とメソッドを見つけましNSEventた。これで、ウィンドウのフレームの原点を設定できました。しかし、それが本当に正しい解決策であるかどうかはわかりません。addGlobalMonitorForEventsMatchingMask:handler:addLocalMonitorForEventsMatchingMask:handler:

これを行うためのより良い方法はありますか?誰かが私にいくつかのサンプルコードを教えてもらえますか?

4

1 に答える 1

1

基本的にはそれだけです。

また、Quartz Event Tap 関数ファミリ CGEventTap を使用することもできます。これは、Mac アプリケーション スイッチャーや Exposé、Mission Control、Dashboard などのイベント中の応答性が少し向上するためです。ただし、セットアップが少し難しく、C のコールバック アプローチを使用しているため、いくつかのことで使用するのが少し難しくなっています。

クォーツ イベント タップはそれ以外は同じですが、わずかに高速です。

それを使用する場合は、必ず関数を使用してくださいCGPoint CGEventGetUnflippedLocation(CGEventRef aCGEvent)

次のように: CGPoint eventLocation = CGEventGetUnflippedLocation(aCGEvent);

これにより、y 座標が Cocoa の他の部分と同様に左下になります。それ以外の場合は、兄弟CGEventGetLocation()を使用してください。これは、くだらない命名の奇妙な理由により、反転した座標を返すことを示していません。(しかし、ドキュメントにはこれが記載されています)

于 2013-06-03T03:15:19.187 に答える