Хакер писал(а):MG2007
Ты неправильно оцениваешь ситуацию, раз говоришь, что нужно написать простую программу, а потом описывашь столь сложную задачу. Либо твой уровень настолько высок, что тебе эта задача кажется простой, но тогда по крайней мере непонятно - почему ты не можешь это реализовать и спрашиваешь как сделать?
Ну да ладно.
Что именно тебе непонятно, что не получается сделать?
Harlan писал(а):to MG2007
Дык если тебе нужно только кружочки с квадратиками рисовать, то есть элемент Shape или Line
Денис писал(а):MG2007
не знаю как кто делает, а я отрабатывал события MouseMove(if Button=1), MouseUp и MouseDown .
Все прекрасно двигалось. Как-нибудь скину пример кода. уверен, тебе это и нужно, чтобы "разобраться как работает"
Хакер писал(а):Делается поверхность рисования.
Процедура рендеринга представляет собой вызов метода Render у всех объектов.
Создаётся коллекция, куда добавлячются ссылки на выделенные объекты. Мышиные события на поверхности рисования обрабатываются, устаналивается, что пользователь делает. В частности это приводит к изменениям в коллекции выделенных объектов.
Для выледенных объектов мышиные события обрабатываются по особенному.
Ну, это так - вокруг да около. Что конкретно интересует?
Mikle писал(а):Если перемещать, масштабировать, но не вращать, то задача действительно элементарна, и можно обойтись шейпами. Тут не окончательное решение, а ответ на вопрос "как это делается":
Хакер писал(а):Не, это слишком примитивно. Автору ИМХО надо с вращением, с масштабированием ( в ширину / высоту + скосы, + перекручивания), + с рисованием линий через алгоритм Ву, + чтобы всё это было векторным, и при увеличнии выглядело так-же красиво.
(Ночь потратил на изготовление примера).
Жду респектов в свою сторону
TestPointInPolygon = ((Intersections Mod 2) = 1) And (Intersections > 0)
TestPointInPolygon = Intersections Mod 2
Intersections = Intersections + 1
Intersections = Not Intersections
TestPointInPolygon = Intersections
Mikle писал(а):Если перемещать, масштабировать, но не вращать, то задача действительно элементарна, и можно обойтись шейпами. Тут не окончательное решение, а ответ на вопрос "как это делается":
Сейчас этот форум просматривают: SemrushBot и гости: 54