![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Какой компонент использовать для отображения сектора
evg © (2010-03-04 10:44:00)Доброго дня!
Подскажите пожалуйста, задачка такая:
Надо компонент, что бы можна было отображать сектора круга и что бы каждый сектор реагировал на ОнКлик (имел свой евент).
Самому писать ? Или есть что готовое. Просто в создании своих компонентов не силен.
Спасибо.
Игорь Шевченко (2010-03-04 16:16:00) [1]Jeer © (04.03.10 16:04) [13]
Я себе делал как раз такое, мне тоже с чартом было неудобно
Jeer (2010-03-04 16:07:00) [2]
> {RASkov} © (04.03.10 15:08) [12]
>
> > канва вроде - квадрат..
>
> нет, у канвы нет ни размеров, ни форм, ни веса, ни температуры,
> ни еще чего-то, что может присутствовать у владельца канвы.
>
Не вредничай, человек просто пояснил самому себе, что рисуется на канве пайнтбокса, который не более чем "просто" преобразователь координат на канве родителя в локальные.
Jeer (2010-03-04 16:04:00) [3]
> Игорь Шевченко © (04.03.10 14:39) [11]
> > Кстати самому скоро такая хрень понадобится :)
> Chart ?
Да не - нужно легковесное, с удобными и нужными свойствами, маленькие PIE-диаграмки на картограмме.
Нужны два варианта: pie и гистограмма ( столбики )
Таких микро-шейпов может быть 2-3 десятка.
{RASkov} (2010-03-04 15:08:00) [4]> канва вроде - квадрат..
нет, у канвы нет ни размеров, ни форм, ни веса, ни температуры, ни еще чего-то, что может присутствовать у владельца канвы.
Игорь Шевченко (2010-03-04 14:39:00) [5]
> Кстати самому скоро такая хрень понадобится :)
Chart ?
Jeer (2010-03-04 12:58:00) [6]64*64 == pi*D = 200 пикс
Jeer (2010-03-04 12:57:00) [7]Рисовать Canvas.Pie()
Если размеры пайта небольшие, скажем 64*64, то длина окружности около 100 пикс, а значит допуская мин. расстояние между секторами в 1 пикс, получим примерно 50 секторов, но будут сливаться ближе к центру
evg (2010-03-04 12:36:00) [8]еще вопросик:
если сектора будут очень близко друг от друга....канва вроде - квадрат..
или я ошибаюсь?
Jeer (2010-03-04 12:31:00) [9]Ну и рисовать можно Canvas.Arc()
evg (2010-03-04 12:25:00) [10]можно...но с визуальными компонентами как-то не дружу....наверно прийдется
Jeer (2010-03-04 12:19:00) [11]Я бы сделал наследника от TPaintBox с нужными методами и свойствами.
Кстати самому скоро такая хрень понадобится :)
evg (2010-03-04 12:16:00) [12]Поигонами не удобно.
Суть задачи в чем:
таких секторов много, к каждому привязана своя инфа, плюс надо реализовать поиск по заданому критерию - после чего все сектора, которые попали в даный критерий должны поменять цвет...
Jeer (2010-03-04 12:12:00) [13]Зачем тогда рисовать сектора ?
Обычно делают разные цвета или оттенки одного.
Ну или определяй попадание по формуле - заморочка, но работать будет.
Или Polygon-ами рисуй и определяй внутрь.
evg (2010-03-04 12:01:00) [14]А если цвет у всех секторов одинаковый?
Jeer (2010-03-04 11:52:00) [15]На TBitmap рисуешь свой секторный круг, выводишь хоть куда, по клику на этот хоть-куда определяешь точку и ее цвет (цвета разные же) - вот тебе и попадание в сектор x с цветом clX