Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.24;
Скачать: CL | DM;

Вниз

Создание нестандартного компонента   Найти похожие ветки 

 
ctapik-net ©   (2002-01-05 09:28) [0]

Привет знатоки. Вот появилась следующая проблема. У меня выводится на форме граф необходимо при передвижении мышки по форме подсвечивать линии соединяющие 2 вершины если мышка находится над ней. Как это можно сделать? Для меня лучшее решение, если вы подскажете как можно создать компонент с шириной 2-3 пиксела и углом наклона alpha. Также необходимо что бы были события OnMouseMove, OnClick, OnDblClick. Заранее благодарен.


 
valery_f   (2002-01-05 11:50) [1]

Компонент-линия? Не проще ли рисовать все на самой форме? А при наезде на линии перерисовывать только их?


 
Relaxoid ©   (2002-01-05 12:20) [2]

Когда я рисовал графы, я рисовал их методами Canvas. Отлавливал OnMouseMove, OnMouseDown(для передвижения вершины). Ребро можно находить по координатам начала и конца, это ведь прямая у тебя наверное.


 
KSergey ©   (2002-01-05 13:30) [3]

Не, ну можно, конечно, попытаться состряпать потомка TGraphicControl, но это запаришься! На сколько я понимаю, придется корячить нестандартную границу (а к стати, можно ли ее сделать для не потомка TWinControl? это еще вопрос; ну а тогда придется от TWinControl наследовать)
Вот только стоит ли оно того?
Хотя в принципе есть же прозрачные Label. Можно глянуть как сделаны. Вот только координаты для такого компонента (элемента) все равно буду задаваться большим прямоугольником, так что пожалуй лучше последовать советам, данным выше, и рисовать все что нужно просто на форме. Что очень просто, надо заметить.


 
Relaxoid ©   (2002-01-05 14:17) [4]

Я и говорю, курсовую я так делал. У каждой вершины сохранял координаты вершины и смотрел, попадают ли координаты мыши в круг или по уравнению прямой находил ребро.



Страницы: 1 вся ветка

Текущий архив: 2002.01.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
1-75573
Lotus
2002-01-05 15:27
2002.01.24
Проверка выражения на true/false НУЖНА ПОМОЩЬ!!!


1-75551
ev
2001-12-26 20:00
2002.01.24
чего-то меня глючит .... ;)


6-75647
Dup
2001-10-30 14:35
2002.01.24
Расшарить диск


14-75658
Гриф
2001-11-28 11:33
2002.01.24
Ищу алгоритм.


3-75528
Atrem
2001-12-21 12:01
2002.01.24
Tblobstream и TIBQuery