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

Вниз

Какой компонент использовать для отображения сектора   Найти похожие ветки 

 
evg   (2010-03-04 10:44) [0]

Доброго дня!

Подскажите пожалуйста, задачка такая:
Надо компонент, что бы можна было отображать сектора круга и что бы каждый сектор реагировал на ОнКлик (имел свой евент).
Самому писать ? Или есть что готовое. Просто в создании своих компонентов не силен.

Спасибо.


 
Jeer ©   (2010-03-04 11:52) [1]

На TBitmap рисуешь свой секторный круг, выводишь хоть куда, по клику на этот хоть-куда определяешь точку и ее цвет (цвета разные же) - вот тебе и попадание в сектор x с цветом clX


 
evg   (2010-03-04 12:01) [2]

А если цвет у всех секторов одинаковый?


 
Jeer ©   (2010-03-04 12:12) [3]

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

Или Polygon-ами рисуй и определяй внутрь.


 
evg   (2010-03-04 12:16) [4]

Поигонами не удобно.
Суть задачи в чем:
таких секторов много, к каждому привязана своя инфа, плюс надо реализовать поиск по заданому критерию - после чего все сектора, которые попали в даный критерий должны поменять цвет...


 
Jeer ©   (2010-03-04 12:19) [5]

Я бы сделал наследника от TPaintBox с нужными методами и свойствами.
Кстати самому скоро такая хрень понадобится :)


 
evg   (2010-03-04 12:25) [6]

можно...но с визуальными компонентами как-то не дружу....наверно прийдется


 
Jeer ©   (2010-03-04 12:31) [7]

Ну и рисовать можно Canvas.Arc()


 
evg   (2010-03-04 12:36) [8]

еще вопросик:
если сектора будут очень близко друг от друга....канва вроде - квадрат..
или я ошибаюсь?


 
Jeer ©   (2010-03-04 12:57) [9]

Рисовать Canvas.Pie()

Если размеры пайта небольшие, скажем 64*64, то длина окружности около 100 пикс, а значит допуская мин. расстояние между секторами в 1 пикс, получим примерно 50 секторов, но будут сливаться ближе к центру


 
Jeer ©   (2010-03-04 12:58) [10]

64*64 == pi*D = 200 пикс


 
Игорь Шевченко ©   (2010-03-04 14:39) [11]


> Кстати самому скоро такая хрень понадобится :)


Chart ?


 
{RASkov} ©   (2010-03-04 15:08) [12]

> канва вроде - квадрат..

нет, у канвы нет ни размеров, ни форм, ни веса, ни температуры, ни еще чего-то, что может присутствовать у владельца канвы.


 
Jeer ©   (2010-03-04 16:04) [13]


> Игорь Шевченко ©   (04.03.10 14:39) [11]
> > Кстати самому скоро такая хрень понадобится :)
> Chart ?


Да не - нужно легковесное, с удобными и нужными свойствами, маленькие PIE-диаграмки на картограмме.
Нужны два варианта: pie и гистограмма ( столбики )
Таких микро-шейпов может быть 2-3 десятка.


 
Jeer ©   (2010-03-04 16:07) [14]


> {RASkov} ©   (04.03.10 15:08) [12]
>
> > канва вроде - квадрат..
>
> нет, у канвы нет ни размеров, ни форм, ни веса, ни температуры,
>  ни еще чего-то, что может присутствовать у владельца канвы.
>


Не вредничай, человек просто пояснил самому себе, что рисуется на канве пайнтбокса, который не более чем "просто" преобразователь координат на канве родителя в локальные.


 
Игорь Шевченко ©   (2010-03-04 16:16) [15]

Jeer ©   (04.03.10 16:04) [13]

Я себе делал как раз такое, мне тоже с чартом было неудобно



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

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

Наверх




Память: 0.5 MB
Время: 0.046 c
2-1274637112
Semen
2010-05-23 21:51
2010.08.27
Вывести сообщение при загрузке Windows


15-1265078165
Дмитрий С
2010-02-02 05:36
2010.08.27
Подскажите телефон


2-1274076522
Ильдарик_13
2010-05-17 10:08
2010.08.27
Фильтрация связанных таблиц


2-1271309315
Дмитрий. М
2010-04-15 09:28
2010.08.27
Транслитерация Киррилица->Латинница - что делаю не так?


15-1266417633
Kerk
2010-02-17 17:40
2010.08.27
Сурков, замруководителя администрации президента, о модернизации