![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Привязка линий [D6, XP]
Валерий © (2009-11-11 20:31:00)Добрый вечер! Подскажите пожалуйста как можно сделать привязку линии к TImage. При перемещении TImage в RunTime линия должна перерисовываться, т.е. тянуться за перемещаемым мышкой объектом. Второй конец линии так-же должен быть привязан, но уже к другому TImage. Линии рисую при помощи MoveTo-LineTo.
Валерий (2009-11-12 11:16:00) [1]Всем спасибо, тема закрыта.
Игорь Шевченко (2009-11-12 03:00:00) [2]Валерий (11.11.09 21:59) [5]
> Тут наверное нужен массив, в котором и будет указано кто
> кому принадлежит. Но тут есть еще одно. Если Line 1 соединяет
> Image1 и Image2, то она принадлежит обоим имиджам и в случае
> если будет необходимо сохранить эту схему в файл, то будет
> сохраняться вдвое больше линий!
Обычно сохраняют связи (здесь - линии), то есть, набор объектов (Image) и набор связей между ними.
Ну и в программе тоже хранится набор объектов и набор связей между ними в виде графа. Как реализовывать граф - это уже дело вкуса.
DVM © (12.11.09 01:48) [6]
> кучи TImage - это не дело.
Да нормально
DVM (2009-11-12 01:48:00) [3]
> Валерий (11.11.09 21:59) [5]
Может лучше сразу делать по-человечески: http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=1344
кучи TImage - это не дело.
Валерий (2009-11-11 21:59:00) [4]
> Никак не говорить, сразу рисовать линию между двумя TImage
> при перемещении любого из них.
А как же тогда быть, если уже нарисована блок-схема состоящая из этих самых Images и Lines (одному Image может принадлежать сколько угодно линий) и нужно переместить например Image30? А если от него уже нарисовано 5 или10 линий? Тут наверное нужен массив, в котором и будет указано кто кому принадлежит. Но тут есть еще одно. Если Line 1 соединяет Image1 и Image2, то она принадлежит обоим имиджам и в случае если будет необходимо сохранить эту схему в файл, то будет сохраняться вдвое больше линий!
Игорь Шевченко (2009-11-11 21:32:00) [5]Валерий (11.11.09 21:23) [3]
Никак не говорить, сразу рисовать линию между двумя TImage при перемещении любого из них.
Валерий (2009-11-11 21:23:00) [6]У линии 2 конца, как Image1 "сказать" что один конец линии принадлежит ему, а второму Image2 что второй конец этой же линии принадлежит именно ему?
Игорь Шевченко (2009-11-11 21:12:00) [7]Не понимаю, что мешает перерисовывать линию всякий раз при изменении положения какого-то TImage ?
oldman (2009-11-11 20:51:00) [8]
> Линии рисую при помощи MoveTo-LineTo.
Никак