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

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

Гафическое связывание таблиц


\/iKTOR ©   (2007-08-01 12:50:00) 

Доброго дня
Меня интересует такой вопрос, как сделать окно, содержащее несколько таблиц, и связи между ячейками в виде линий как на рисунке
http://img255.imageshack.us/img255/5195/16051722uc2.jpg
тоесть чтобы при перетаскивании каждой таблице связи оставались и перемещались за таблицами.
Меня интересует общие принцыпы такой организации, тоесть каждой ячейке нужно создать точку привязки а потом задать линию, которая будет соединять две выбранные точки? И как такая линия будет вести себя в реале?
Подобное представление используется в редакторах баз данных типа MySQL.
Текст программы писать не нужно, просто как вы это себе представляете вообще.
Спасибо.


\/iKTOR   (2007-08-01 14:20:00) [1]

Сергей М.
Спасибо за наводку.
Жаль что у меня нет русского описалова на этот пакет и компонент в частности,  ну да ладно поищем.


Сергей М.   (2007-08-01 13:59:00) [2]


> \/iKTOR   (01.08.07 12:50)


Возьми в кач-ве готового средства для такого рода граф.представления компонент TdxFlowChart из состава пакета DevExpress.


\/iKTOR   (2007-08-01 13:26:00) [3]

Плохиш
Еще не видел от вас ничего по существу, одни придирки, разумеется что программа будет их вычислять.


Плохиш   (2007-08-01 13:21:00) [4]


> \/iKTOR   (01.08.07 13:19) [6]
> Ну координаты сами должны вычисляться

В программировании нет такого понятия "сами должны вычисляться"...


\/iKTOR   (2007-08-01 13:19:00) [5]

Ну координаты сами должны вычисляться, ведь они изменяются при перетаскивании, тоесть нужно отслеживать, не поменялись ли координаты, и если да, то передать новые координаты для перерисовки линий, а потм дать команду на перерисовку. Ну вобщем понятно, частности проявятся позже, меня интересовало, не делал ли кто чего подобное, и с чем приходилось иметь дело, ну ладно, спасибо за ответы, прийдется самому экспериментировать.


Dib@zol   (2007-08-01 13:05:00) [6]

> а как всеже насчет динамики ее поведения?

Меняешь координаты и посылаешь запрос на перерисовку окошка. А в чём проблема?


\/iKTOR   (2007-08-01 13:03:00) [7]

Dib@zol
Тоесть грубо говоря нужно сделать вычисление координаты на главном окне исходя из координат самой таблицы и точки привязки линии, ясно, а как всеже насчет динамики ее поведения?


\/iKTOR   (2007-08-01 12:59:00) [8]

Ну мне интересно, правильно ли я думаю, что если задать и как то зафиксировать точки привязки к каждой ячейке таблицы, будет потом достаточно задать просто линию их соединяющую, а при перетаскивании она сама будет перерисовываться, или потребуется еще постоянное динамическое обновление экрана, в простейшем виде, допустим есть линия, края которой привязанны к отдельным объектам, то как она прорисовывается при перетаскивании этих объектов по окну, кто чего знает об этом.


Dib@zol   (2007-08-01 12:55:00) [9]

Определяй координаты каждой нужной точки относительно главного окна, а на сообщение о перерисовке формы отвечай циклом из MoveTo/LineTo.


Плохиш   (2007-08-01 12:52:00) [10]


> И как такая линия будет вести себя в реале?

Как запрограммируешь, так и будет себя вести. Надеюсь, ты не думаешь, что линии живут какой-то своей жизнью?


Наверх

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