Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.01.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.019 c
3-75467
VovanR
2001-12-18 17:17
2002.01.24
Производительность функции Table.Locate ?


1-75616
Lotus
2002-01-05 17:33
2002.01.24
Нужно интерпретировать математические выражения


7-75688
VS
2001-10-08 13:22
2002.01.24
Конвентирование String в PChar


1-75577
Vacheslav
2002-01-06 20:52
2002.01.24
Подскажите алгоритм


3-75494
kserg@ukr.net
2001-12-20 11:09
2002.01.24
Как организовать работу в сети с DBase-таблицами ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский