Перейти к содержанию
  • Регистрация
  • 0
Авторизация  
vasilius

ProgressBar и Gradient

Вопрос

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

 

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

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 пользователей онлайн

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

×
×
  • Создать...