выбор цвета в окне свойств индикатора

Образцы, куски исходников, вопросы. Обсуждаем программирование.
Ответить
Сообщение
Автор
Алексей
Сообщения: 50
Зарегистрирован: Вс окт 21, 2007 5:22 pm

выбор цвета в окне свойств индикатора

#1 Сообщение Алексей » Пт фев 01, 2008 8:47 am

Подскажите плиз, как в окне свойств индикатора сделать выбор цвета какой-нибудь Hline или Vline, чтобы можно было вставить в строку

Код: Выделить всё

ObjectSet(MyLine, OBJPROP_COLOR, MyColor);
в МТ4 это выглядит просто:

Код: Выделить всё

extern color  MyColor   = Green;
а в FT?

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: выбор цвета в окне свойств индикатора

#2 Сообщение Terranin » Пт фев 01, 2008 5:24 pm

Алексей писал(а):Подскажите плиз, как в окне свойств индикатора сделать выбор цвета какой-нибудь Hline или Vline, чтобы можно было вставить в строку

Код: Выделить всё

ObjectSet(MyLine, OBJPROP_COLOR, MyColor);
в МТ4 это выглядит просто:

Код: Выделить всё

extern color  MyColor   = Green;
а в FT?
В FT это тоже выглядит просто, при создании видимого буфера автоматически создается к нему и параметр выбора цвета.

Код: Выделить всё

  IndicatorBuffers(1);
  SetIndexBuffer(0, MapBuffer);
  
  SetIndexStyle(0, ds_Line, psSolid, 1, clRed);   // задать стиль и цвет
  SetIndexLabel(0, 'T3 Tilson''s MA');  // задать имя параметра
если пропустить последние 2 строчки то стиль и имя будут выбраны по умолчанию
Asta la vista
Mike

Алексей
Сообщения: 50
Зарегистрирован: Вс окт 21, 2007 5:22 pm

#3 Сообщение Алексей » Пт фев 01, 2008 6:53 pm

Не пойму, как буфер применить к объекту? Мне нужна например только 1 вертикальная линия, но цвет ей нужно выбрать в окне параметров.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#4 Сообщение Terranin » Пт фев 01, 2008 8:37 pm

Алексей писал(а):Не пойму, как буфер применить к объекту? Мне нужна например только 1 вертикальная линия, но цвет ей нужно выбрать в окне параметров.
Я просто не понял вопрос.
Эта возможность не документировалась но можно создать новую опцию так:

Код: Выделить всё

type
  //----------------------------------
  // line style
  //----------------------------------
  PLineStyleRec = ^TLineStyleRec;
  TLineStyleRec = packed record
    color: TColor;
    style: TPenStyle;
    width: integer;
    DrawingStyle: TDrawStyle;
    Symbol: integer;
    xoffs, yoffs: integer;
  end;


var
  LineStyle: TLineStyle;

...

  RegOption('LineStyle', ot_LineStyle, @LineStyle);
  LineStyle.color := ...
  LineStyle.style := ...
Asta la vista
Mike

Алексей
Сообщения: 50
Зарегистрирован: Вс окт 21, 2007 5:22 pm

#5 Сообщение Алексей » Сб фев 02, 2008 9:58 am

Вот теперь понятно. СПАСИБО

Алексей
Сообщения: 50
Зарегистрирован: Вс окт 21, 2007 5:22 pm

#6 Сообщение Алексей » Сб фев 02, 2008 10:21 am

Совсем другое дело, то что нужно, еще раз спасибо, только
дописать в строчке Rec

Код: Выделить всё

var
  LineStyle: TLineStyleRec;
и убрать значок @:

Код: Выделить всё

  RegOption('LineStyle', ot_LineStyle, LineStyle);

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

#7 Сообщение Terranin » Сб фев 02, 2008 4:41 pm

Алексей писал(а):Совсем другое дело, то что нужно, еще раз спасибо, только
дописать в строчке Rec

Код: Выделить всё

var
  LineStyle: TLineStyleRec;
и убрать значок @:

Код: Выделить всё

  RegOption('LineStyle', ot_LineStyle, LineStyle);
Ну я по памяти писал, бывает. :)
Asta la vista
Mike

Ответить