このコードを使用すると、Yマウスの位置が間違っています。戻り値は(x、y + 20)です。Mac OSX上でウィンドウのクライアント内で実際のマウスの位置を取得する方法は?
int Height = int [[Window contentView] frame].size.height;
int x = (int)[(NSEvent *)event locationInWindow].x;
int y = Height - (int)[(NSEvent *)event locationInWindow].y;
高さはウィンドウの高さだと思う: `タイトルバー+ rectクライアント。私は高さの本当の価値を望みます。
あなたはウィンドウ内の座標は、あなたが「本物のマウスの位置」とはどういう意味ですか代わりにフレーム –
の境界を試し座標系を持って取得したい場合は? '[event locationInWindow]'は本当です。 – Willeke
@Pat_Morita bounds.originは、[[Window] contentView] bounds]を呼び出したとき、常に(0、0)に等しくなります...もっと詳しく教えてください。 –