代码之家  ›  专栏  ›  技术社区  ›  Peter Zich

确定目标C(nsscreen)中的屏幕位置

  •  4
  • Peter Zich  · 技术社区  · 16 年前

    使用[nsscreen screens]我可以将所有的屏幕连接到计算机及其大小,但是我试图找出它们之间的相对位置(如在显示首选项中的排列)。有办法吗?我在网上查阅了苹果开发人员网站上的课程参考资料,却一无所获。谢谢您。

    2 回复  |  直到 15 年前
        1
  •  4
  •   Alnitak    15 年前

    对于返回的每个屏幕 [NSScreen screens] 您可以拨打:

    [screen frame]
    

    得到一个 NSRect 包含 size 和 offset 每个屏幕。“主”屏幕(即带有菜单栏的屏幕)将有偏移。 (0, 0) .

    这应该比处理 -deviceDescription .

        2
  •  4
  •   Peter Zich    16 年前

    啊哈!我在浏览API,发现了如何操作它。如果你得到一个nsscreen的 -deviceDescription ,你可以得到它 CGDirectDisplayID 。从那里,您可以使用ApplicationServices的Quartz显示服务来获取 CGDisplayBounds 显示相对于所有屏幕的显示大小和位置。