2011-10-21 7 views
0

私はグローバルなスクリーン位置(x、y)を与えられていて、複数のモニタをMacコンピュータに接続しています。どのモニタが表示されているのかをXcode(Objective-c)コード内のグローバル画面の位置を考えると、どのモニタを使用しているのかをどのように把握するのですか?

基本的に私はNSScreenリストのどのインデックスを知る必要がありますか、グローバルモニタスペース(すべてのモニタを含む座標系)を取得するにはどうすればよいですか?

答えて

1

NSScreenの配列を取得し、それを反復して、NSPointInRect(myPt, [aScreen frame])をテストします。

あなたはグローバル(x、y)を取得しているとは言いません。一部のOS APIは、原点がメイン画面の左上にあるグローバル座標空間を想定していますが、ココアは原点を左下に置くと思います。

+0

ありがとうございました。私の座標は左上の座標系から来ていますが、その種のものを扱う別の方法がない限り、変換することができると思いました –

+0

画面情報をどうするかによって、代わりにQuartz関数を使うことができますCGGetDisplaysWithPoint'のように。 – JWWalker

関連する問題