Конференция "Начинающим" » Какой компонент использовать для отображения сектора
 
  • evg (04.03.10 10:44) [0]
    Доброго дня!

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

    Спасибо.
  • Jeer © (04.03.10 11:52) [1]
    На TBitmap рисуешь свой секторный круг, выводишь хоть куда, по клику на этот хоть-куда определяешь точку и ее цвет (цвета разные же) - вот тебе и попадание в сектор x с цветом clX
  • evg (04.03.10 12:01) [2]
    А если цвет у всех секторов одинаковый?
  • Jeer © (04.03.10 12:12) [3]
    Зачем тогда рисовать сектора ?
    Обычно делают разные цвета или оттенки одного.
    Ну или определяй попадание по формуле - заморочка, но работать будет.

    Или Polygon-ами рисуй и определяй внутрь.
  • evg (04.03.10 12:16) [4]
    Поигонами не удобно.
    Суть задачи в чем:
    таких секторов много, к каждому привязана своя инфа, плюс надо реализовать поиск по заданому критерию - после чего все сектора, которые попали в даный критерий должны поменять цвет...
  • Jeer © (04.03.10 12:19) [5]
    Я бы сделал наследника от TPaintBox с нужными методами и свойствами.
    Кстати самому скоро такая хрень понадобится :)
  • evg (04.03.10 12:25) [6]
    можно...но с визуальными компонентами как-то не дружу....наверно прийдется
  • Jeer © (04.03.10 12:31) [7]
    Ну и рисовать можно Canvas.Arc()
  • evg (04.03.10 12:36) [8]
    еще вопросик:
    если сектора будут очень близко друг от друга....канва вроде - квадрат..
    или я ошибаюсь?
  • Jeer © (04.03.10 12:57) [9]
    Рисовать Canvas.Pie()

    Если размеры пайта небольшие, скажем 64*64, то длина окружности около 100 пикс, а значит допуская мин. расстояние между секторами в 1 пикс, получим примерно 50 секторов, но будут сливаться ближе к центру
  • Jeer © (04.03.10 12:58) [10]
    64*64 == pi*D = 200 пикс
  • Игорь Шевченко © (04.03.10 14:39) [11]

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


    Chart ?
  • {RASkov} © (04.03.10 15:08) [12]
    > канва вроде - квадрат..

    нет, у канвы нет ни размеров, ни форм, ни веса, ни температуры, ни еще чего-то, что может присутствовать у владельца канвы.
  • Jeer © (04.03.10 16:04) [13]

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


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

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


    Не вредничай, человек просто пояснил самому себе, что рисуется на канве пайнтбокса, который не более чем "просто" преобразователь координат на канве родителя в локальные.
  • Игорь Шевченко © (04.03.10 16:16) [15]
    Jeer ©   (04.03.10 16:04) [13]

    Я себе делал как раз такое, мне тоже с чартом было неудобно
 
Конференция "Начинающим" » Какой компонент использовать для отображения сектора
Есть новые Нет новых   [134467   +7][b:0][p:0.001]