Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Привязка линий [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.


Никак


Наверх

Титульная страница Поиск, карта сайта Написать письмо