Как можно регулировать порядок наложения объектов на графике?

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

Имеется ввиду, относительно друг друга.

То есть если я хочу вывести текст на каком либо фоне, сначала мне нужно обязательно создать фон, и только потом выводить текст.

Других способов контролировать порядок наложения, чтобы не зависеть от порядка создания объектов нет?

Например через какие-либо свойства?

Ihor Herasko
21738
Ihor Herasko  
leon_17:

Имеется ввиду, относительно друг друга.

То есть если я хочу вывести текст на каком либо фоне, сначала мне нужно обязательно создать фон, и только потом выводить текст.

Других способов контролировать порядок наложения, чтобы не зависеть от порядка создания объектов нет?

Например через какие-либо свойства?

Именно для объектов - нет. Но есть два других подхода:

  1. Рисовать на объекте OBJ_BITMAP_LABEL.
  2. Рисовать на холсте (Canvas).

leon_17
181
leon_17  
Ihor Herasko:

Именно для объектов - нет. Но есть два других подхода:

  1. Рисовать на объекте OBJ_BITMAP_LABEL.
  2. Рисовать на холсте (Canvas).

Спасибо!
Igor Zakharov
6653
Igor Zakharov  
leon_17:

чтобы не зависеть от порядка создания объектов

 свойство OBJPROP_BACK если оно true, то в момент его установки объект окажется позади всех существующих; если false - впереди всех. 

leon_17
181
leon_17  
Igor Zakharov:

 свойство OBJPROP_BACK если оно true, то в момент его установки объект окажется позади всех существующих; если false - впереди всех. 

Тогда объект и под барами получается - нормальный фон с этим свойством не сделаешь

Artyom Trishkin
Модератор
56387
Artyom Trishkin  
leon_17:

Имеется ввиду, относительно друг друга.

То есть если я хочу вывести текст на каком либо фоне, сначала мне нужно обязательно создать фон, и только потом выводить текст.

Других способов контролировать порядок наложения, чтобы не зависеть от порядка создания объектов нет?

Например через какие-либо свойства?

Сначала ObjectSetInteger(chart_id,obj_name,OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS) - это запретит показывать объект с именем obj_name на всех периодах графика (скроет из видимости), а затем

ObjectSetInteger(chart_id,obj_name,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS) - это заново покажет объект с именем obj_name, но выше всех других.

Таким образом можно выстроить все объекты в нужном порядке.

Документация по MQL5: Графические объекты / ObjectSetInteger
Документация по MQL5: Графические объекты / ObjectSetInteger
  • www.mql5.com
//|                                               Table of Web Colors| //|                         Copyright 2011, MetaQuotes Software Corp | //|                                       https://www.metaquotes.net | //| Создание и инициализация объекта OBJ_EDIT                        |...
leon_17
181
leon_17  
Artyom Trishkin:

Сначала ObjectSetInteger(chart_id,obj_name,OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS) - это запретит показывать объект с именем obj_name на всех периодах графика (скроет из видимости), а затем

ObjectSetInteger(chart_id,obj_name,OBJPROP_TIMEFRAMES,OBJ_ALL_PERIODS) - это заново покажет объект с именем obj_name, но выше всех других.

Таким образом можно выстроить все объекты в нужном порядке.

Спасибо, идея понятна!
Artyom Trishkin
Модератор
56387
Artyom Trishkin  
leon_17:
Спасибо, идея понятна!

Это не идея, а следование рекомендациям разработчиков.

Petros Shatakhtsyan
15057
Petros Shatakhtsyan  
leon_17:

Посмотрите эти свойства объекта:   OBJPROP_BACK  и  OBJPROP_ZORDER

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