Скачать MetaTrader 5

Еще раз. Взаимное расположение графических объектов (МТ4/МТ5) - страница 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Anatoli Kazharski
63507
Anatoli Kazharski  
Ещё один момент. Независимо от того, какой приоритет у объекта (это и в четвёрке и в пятёрке) можно схватить объект через другой и перетаскивать оба. Очень неудобно, нужно исправить.
George
506
George  

1. Создал фон: OBJ_RECTANGLE_LABEL (OBJPROP_ZORDER=0)

2. На него накидал несколько OBJ_BUTTON  (OBJPROP_ZORDER=1)

   Для всех объектов: OBJPROP_BACK=false (чтобы графики не лезли даже на фон) и  отключен режим перемещения кнопки мышью

3. Все  красиво пока не выключили терминал: фон сзади, кнопки нормально работают, при переключении таймфреймов, перекомпиляции проги и т.п. - все состояния кнопок сохраняются, кнопки нормально переключаются при необходимости и находятся сверху фона.

4. Перезагружаем терминал: УПС! кнопки под фоном.

Уважаемые господа разработчики, и что прикажете делать?

В OnDeinit() записывать в файл названия кнопок и их состояния (если успеет записаться за 2,5 сек), а при последующей инициализации индюка или эксперта, которая происходит не только  запуске терминала, удалять и вновь создавать объекты и присваивать им OBJPROP_STATE в соответствии с данными, считанными из файла?

Код причины деинициализации передается также в качестве параметра предопределенной функции OnDeinit(const int reason). Индикаторы принимают пока только код 1(REASON_REMOVE) и код 2(REASON_RECOMPILE). Так что если в экспертах можно задать такой процесс только при перезапуске терминала, то с индикаторами это не получится (будет каждый раз срабатывать).

Как то коряво это выглядит, но  ничего более умного меня не посетило... Одним словом - сплошные неудобства:(

Рустам
3623
Рустам  

Z-order != Z-index 

графэлементы выстаиваются терминалом по времени создания, попробуйте создайте сначала кнопки, а потом фон - увидите.

скорее всего вам придется все перерисовывать в любом случае 

George
506
George  
FAQ:

Z-order != Z-index 

графэлементы выстаиваются терминалом по времени создания, попробуйте создайте сначала кнопки, а потом фон - увидите.

скорее всего вам придется все перерисовывать в любом случае 

Да, к сожалению... Z-order != Z-index 

Насчет времени я читал этот момент.

К сожалению, если в коде сначала идут кнопки, а потом фон - то сразу кнопки закрыты фоном. При перезагрузке терминала все становится наоборот в соответствии с временем создания - и фон получается на заднем плане. Ну почему так через задний проход сотворено?

Господа разработчики, неужели так и будем мучиться? Тема-то далеко не свежая...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий