Какое лучшее решение для связывания объектов в wx.DC? - PullRequest
0 голосов
/ 26 августа 2010

Так, например, я рисую некоторые объекты на wx.PaintDC, такие как линии и прямоугольники.Теперь я хочу следующее: по щелчку мыши я не знаю, какой объект был нажат.Конечно, я могу видеть, какой объект ближе всего, но как насчет более точного ответа?

Может быть, даже не стандартный wx.DC, а такие вещи, как FloatCanvas или что-то вроде этого.

Таккакое лучшее решение?

Ответы [ 2 ]

1 голос
/ 26 августа 2010

Вы можете использовать PseudoDC и его метод FindObjects

В моей программе рисования Whyteboard Я использую целую кучу математических, полиморфных классов и тому подобного, чтобы пользователи могли "проверять удар" нарисованных элементов с помощью инструмента рисования Select.

Вы также можете сделать это с помощью FloatCanvas, он предоставляет методы HitTest (x, y) (вне головы), которые должны делать то, что вы хотите. Но я не уверен, насколько трудно будет преобразовать ваше приложение для его использования.

0 голосов
/ 27 августа 2010

Позволяет ли вызов метода event.GetEventObject () в вашем обработчике событий предоставить вам нужный объект?

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