сделать NSRect выбираемым - PullRequest
0 голосов
/ 06 апреля 2009

Есть ли простой способ создать выбираемый NSRect в Какао? При необходимости прямоугольник, который можно выделить и оставить выбранным после щелчка мыши.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 06 апреля 2009

NSRect - это просто структура с позицией и размером. Это не объект, который на самом деле может делать что-либо или иметь какие-либо свойства, кроме ширины и высоты. Похоже, что вы хотите создать NSView, который можно выбрать. (Вот Руководство Apple по теме.)

1 голос
/ 06 апреля 2009

Хотя это и не так быстро, как хотелось бы, вас может заинтересовать управление отслеживанием прямоугольников и областей отслеживания, выполняемое NSView классом.

Этот механизм позволяет вам определять определенные области вашего пользовательского представления. Затем событие генерируется всякий раз, когда курсор входит или выходит из области, или в этой области нажимается кнопка мыши (-mouseEntered:, -mouseExited:, -mouseDown:, -mouseUp:, -mouseDragged:, ... of NSResponder класс). Это зависит от вас, чтобы определить, что вы хотите, чтобы ваше приложение делало в ответ на эти события (установите выбранный прямоугольник и отобразите его соответствующим образом).

0 голосов
/ 06 апреля 2009

Для примера реализации этого взгляните на пример Sketch, включенный в инструменты разработчика Apple (см. / Developer / examples / AppKit). Sketch позволяет пользователю создавать новую графику (включая прямоугольники, а также овалы, линии и текст), выбирать их, перемещать их в документе и т. Д. В частности, вы, вероятно, захотите взглянуть на класс SKTGraphic, представляет отдельный графический объект в документе и класс SKTGraphicView, который является подклассом NSView, который выполняет фактическую компоновку и рисование, обрабатывает события мыши для перетаскивания видов и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...