Программирование Изменение цвета прямоугольника по нажатию кнопки

KeenEdge

Member
NinjaTrader
  • #1
Я на графике отмечаю области поддержки и сопротивления с помощью встроенного средства рисования - прямоугольник (Ctrl + F12). Стандартный прямоугольник у меня красного цвета (сопротивление), я для поддержки прямоугольник зеленого цвета, сначала рисуем красный прямоугольник а потом меняем его цвет. Что бы поменять цвет приходится лезть в настройки (выделить прямоугольник -> Properties -> Color -> изменить цвет -> OK) это долго и неудобно, я бы хотел чтобы можно было по нажатию кнопке сменить цвет выделенного прямоугольника на графике.

Вопрос: как используя NinjaScript определить что выделен конкретный прямоугольник на графике?
P.S. У меня Ninja 7-я.

кусок примерного кода:

Код:
foreach (ChartObject co in ChartControl.ChartObjects) // перебираем ВСЕ элементы на графике
{
   if (co is ChartRectangle) // если это прямоугольник то работаем дальше
   {
      if( ??? ) // тут нужно определить что этот конкретный прямоугольник выделен пользователем
      {             // как это сделать? 
        oneRect = (co as ChartRectangle);   // один конкретный прямоугольник с графика
        oneRect.AreaColor = Color.Green;  // задаем ему другой цвет
      }
   }
}
 
  • Like
Реакции: Muratik
  • #2
На официальном сайте сказали что стандартной функции определения какой объект выделен - нету, но обещали эту функцию добавить.
Пока решение только такое: перебрать все прямоугольники и если появился новый прямоугольник и он ниже текущей цены то перекрасить его в зеленый цвет.
 
  • Like
Реакции: Alexander и Muratik
  • #3
Вешаете событие MouseLeftButtonDown и если Target был Rectangle то сохраняете ссылку на выделенный прямоугольник, если нет то сбрасываете эту ссылку (т.е. ничего не выбранно).
 
  • Like
Реакции: Muratik
Назад
Верх Низ