【问题标题】:NSWindow attached to cursorNSWindow 附加到光标
【发布时间】:2012-10-18 08:12:01
【问题描述】:

我想制作一个自定义面板,在当前光标位置显示缩放。 就像“Sip”一样。 我在网上搜索了示例,但没有找到任何具体的内容。

我找到了NSEventaddGlobalMonitorForEventsMatchingMask:handler:addLocalMonitorForEventsMatchingMask:handler: 方法。 现在我可以设置窗口的框架原点。 但我不确定这是否真的是正确的解决方案。

有没有更好的方法来做到这一点? 谁能指出我的一些示例代码?

【问题讨论】:

    标签: objective-c xcode macos cocoa nscursor


    【解决方案1】:

    基本上就是这样。

    您还可以使用 Quartz Event Tap 函数系列 CGEventTap,因为它可以在 Mac 应用程序切换器和 Exposé 或 Mission Control 或 Dashboard 等事件期间提供更多响应。但是,它的设置有点困难,并且使用了 C 回调方法,在某些事情上使用起来有点困难。

    Quartz Event Taps 在其他方面是一样的,但可能会稍微快一些。

    如果你使用它,请务必使用函数CGPoint CGEventGetUnflippedLocation(CGEventRef aCGEvent)

    如: CGPoint eventLocation = CGEventGetUnflippedLocation(aCGEvent);

    这将确保您的 y 坐标与 Cocoa 的其余部分一样位于左下方。 否则使用它的兄弟CGEventGetLocation(),由于一些奇怪的命名蹩脚的原因并不表示它返回翻转坐标。 (但文档确实说明了这一点)

    【讨论】:

      猜你喜欢
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多