Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.008 c
1-75611
MetroGnome
2002-01-04 02:25
2002.01.24
<B>Как скрыть какую ни будь ПАПКУ С ФАЙЛАМИ!</B>


1-75622
Дмитрий А.
2002-01-04 17:34
2002.01.24
TShellListViev


4-75716
pank
2001-11-25 01:03
2002.01.24
Как сделать программно ярлык (*.lnk)


1-75607
Z
2002-01-06 23:08
2002.01.24
Два Exe шника обмениваются информацией


14-75678
Desdechado
2001-11-29 20:06
2002.01.24
Бывают ли бананы червивыми?




   Наверх