Как получить позицию окна на экране в какао?
Отправить сообщение frame
и посмотреть результат origin
участник.
Я пытаюсь использовать фрейм из NSWindow, но в результате у меня есть x и y окна всегда 0, но мое окно не находится в этом положении.
Вы забыли подключить выход к окну, так что вы посылаете, что frame
сообщений для nil
.
Честно говоря, удивительно, что прямоугольник рамки вообще имеет смысл, а не является геометрически невозможным случайным набором чисел. Сообщения до nil
возвращают 0 для скалярных типов, таких как указатели и одиночные числа, но сообщение, которое возвращает структуру (например, прямоугольник), не гарантирует возврата ничего.
Или вы разговариваете с неправильным окном - возможно, вы создали его в наконечнике, а затем создали еще один код.
IIRC, структуры, достаточно малые, чтобы вписаться в какой-либо целочисленный тип, рассматриваются как целые числа в контексте того, как возвращается значение. – Chuck
Спасибо, я получил рамку из неправильного окна – Chudziutki