Перейти к содержанию
Fire Monkey от А до Я
  • 0

ProgressBar и Gradient


vasilius

Вопрос

Здравствуйте!

 

есть прогресс бар с таким стилем :

object TRectangle
  StyleName = 'htrack'
  Align = Client
  Fill.Color = claSteelblue
  Sides = []
  Size.Width = 193.000000000000000000
  Size.Height = 17.000000000000000000
  Size.PlatformDefault = False
  Stroke.Color = claNull
  XRadius = 1.000000000000000000
  YRadius = 1.000000000000000000
  object TRectangle
    StyleName = 'hindicator'
    Align = Left
    Fill.Kind = Gradient
    Fill.Gradient.Points = <
      item
        Color = xFF24C137
        Offset = 0.000000000000000000
      end
      item
        Color = xFF04E31A
        Offset = 0.844720482826232900
      end
      item
        Color = xFF04E31B
        Offset = 1.000000000000000000
      end>
    Fill.Gradient.StartPosition.Y = 0.500000000000000000
    Fill.Gradient.StopPosition.X = 1.000000000000000000
    Fill.Gradient.StopPosition.Y = 0.500000000000000000
    Sides = []
    Size.Width = 138.000000000000000000
    Size.Height = 17.000000000000000000
    Size.PlatformDefault = False
    Stroke.Color = claSteelblue
  end
end

то есть , это обычный прогрес бар где htrack и hindicator сделаны на базе rectangle

у ползунка заполнение цветом делается через градиент

и нужно динамически менять этот градиент

делаю это так:
 

		pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[0].Color"] = TValue::_op_Implicit(0xFF24C137);
		pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[1].Color"] = TValue::_op_Implicit(0xFF04E31A);
		pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[2].Color"] = TValue::_op_Implicit(0xFF04E31B);

		if (inLed > -6.00f)
		{
			pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[1].Color"] = TValue::_op_Implicit(claRed);
			pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[0].Color"] = TValue::_op_Implicit(claBlack);
		}
		if (inLed > -1.00f)	pbInputLevel->StylesData["hindicator.Fill.Gradient.Points[1].Color"] = TValue::_op_Implicit(claRed);

работает странно и вываливается exception

raised exception class EPropWriteOnly with message 'Color'.

Есть идеи как менять градиент на лету правильно?

 

 

Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...