Показать сообщение отдельно
  #2  
Старый 14.08.2013, 01:48
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Ну для этого особой векторной графики не надо.
Делаем 2 кнопки - прямая и прямоугольник.
Нажали на прямую - следующие два тыка на форме будут координатами начала и конца отрезка. По ним рисуем LineTo. Сохраняем линию в массив линий.
Нажали прямоугольник - следующие два тыка будут координатами левого верхнего и правого нижнего угла. Достраиваем оставшиеся 2 точки, сохраняем в массив прямоугольников.
Нажали на канву - бегаем по массивам линий и прямоугольников, смотрим, не нажали ли около какой-то точки. Если нашли точку - движение мыши меняет координаты ее и, в случае прямоугольника, еще двух точек. Если нет - смотрим попадание на одну из линий (и отрезков, и прямоугольников), и в случае попадания меняем координаты всех точек объекта.
Профит.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием