Проверка границ форм графического интерфейса пользователя (СОЕДИНИТЕЛЬ БЛОК-СХЕМ)

Итак, я работаю над программой блок-схемы (ООП), и мне нужно реализовать код для соединителя, который имеет условие, что он должен быть между двумя другими фигурами.

Итак, вопрос здесь в том, как проверить, находится ли щелчок пользователя в области «формы»?

Например, я могу «GetMouseClick» как функцию, но мне нужно проверить, лежит ли эта точка в фигуре из нарисованных фигур.

ПРИМЕЧАНИЕ. У каждой формы есть класс!


person Cereal    schedule 13.05.2014    source источник


Ответы (1)


Для каждого класса (формы) определите метод getBounds(...), который будет возвращать прямоугольник (или многоугольник), и когда вы щелкаете, вы можете перебирать все фигуры и видеть, в каких границах был щелчок.

Другая идея состоит в том, чтобы добавить прослушиватель мыши для каждой фигуры и полагаться на обработчик событий, чтобы сообщить вам, какая фигура была нажата.

person Alex    schedule 14.05.2014
comment
Я думал об этой идее, спасибо за совет. Но я столкнулся с другой проблемой: в моем условии IF мне пришлось создать массив указателей на этот оператор, чтобы хранить нарисованные внутри него фигуры, и проверить с помощью цикла for внутри оператора IF с границами, это дало мне ошибка в слове «Ожидается выражение»! - person Cereal; 14.05.2014
comment
Без примера кода трудно помочь (помимо концепции) - person Alex; 14.05.2014