Предложение по поводу отрисовки графических объектов. - страница 3

 
Хотел удалить то, что выглядит как реклама. Но уже невозможно. Прошу модератора удалить сообщения, которые нарушают политику форума.
 
Eugeni Neumoin #:
Хотел удалить то, что выглядит как реклама. Но уже невозможно. Прошу модератора удалить сообщения, которые нарушают политику форума.

Да ладно тебе Мастер, ну если не реклама, значит не реклама. Чё завёлся то)))

Просто про мт4 ни слова не было сказано, пример предложил посмотреть тоже на мт5, сам же писал, что код взят из справки мт5.

В мт5 я такой проблемы не нашёл, что вы описывал. Путаетесь в показаниях батенька. Вот и пришла мысль, что тема может содержать крамолу)))

 
Aleksandr Slavskii #:

Да ладно тебе Мастер, ну если не реклама, значит не реклама. Чё завёлся то)))

Просто про мт4 ни слова не было сказано, пример предложил посмотреть тоже на мт5, сам же писал, что код взят из справки мт5.

В мт5 я такой проблемы не нашёл, что вы описывал. Путаетесь в показаниях батенька. Вот и пришла мысль, что тема может содержать крамолу)))

Этот пример из документации по МТ4. А не по МТ5. Внимательнее надо смотреть.

В Вашем примере некорректно задано. Я выше показал это. Чтобы вывести на заднем плане надо задать true, а у Вас false. И на ВАшем видео видно, что вывод сделан на переднем плане.

 
Aleksandr Slavskii #:

Да ладно тебе Мастер, ну если не реклама, значит не реклама. Чё завёлся то)))

Просто про мт4 ни слова не было сказано, пример предложил посмотреть тоже на мт5, сам же писал, что код взят из справки мт5.

В мт5 я такой проблемы не нашёл, что вы описывал. Путаетесь в показаниях батенька. Вот и пришла мысль, что тема может содержать крамолу)))

Да, в МТ5 эту проблему исправили. Там появилось дополнительное свойство - OBJPROP_FILL. В МТ4 не было и нет такого свойства. Поэтому заливка прямоугольника делается именно переводом его в фон.

Надежды на то, что изменят, мало. Разработка МТ4 уже давно не ведется.

 
Ihor Herasko #:

Да, в МТ5 эту проблему исправили. Там появилось дополнительное свойство - OBJPROP_FILL. В МТ4 не было и нет такого свойства. Поэтому заливка прямоугольника делается именно переводом его в фон.

Надежды на то, что изменят, мало. Разработка МТ4 уже давно не ведется.

Это так. Сложно вести две разные разработки. Хотя явные ошибки и в старой версии лучше исправлять. Осадочек остается.

Кстати, в МТ4 свойство  OBJPROP_FILL есть, но оно некорректно работает.

Предполагаю, в МТ4 оставлено так потому, что встроенный в терминал прямоугольник при установке в нем галочки на задний план также заливается цветом.

Сделал в виде полумеры.

            //--- включим (true) или отключим (false) режим заливки уровня 
            ObjectSetInteger(chart_ID,name,OBJPROP_FILL,fill); 
            //--- отобразим на переднем (false) или заднем (true) плане 
            ObjectSetInteger(chart_ID,name,OBJPROP_BACK,(fill ? true : false)); 


Рамку на переднем плане:

А прямоугольник с заливкой на заднем плане:


 
Eugeni Neumoin #:

Это так. Сложно вести две разные разработки. 

Сделал в виде полумеры.


Рамку на переднем плане:

А прямоугольник с заливкой на заднем плане:


Сделайте на канвасе. И всё будет одинаково в обеих платформах.
 
Artyom Trishkin #:
Сделайте на канвасе. И всё будет одинаково в обеих платформах.

Я только в МТ4 программирую. Для МТ5 только по просьбам.

Разработки сложные. На двух платформах не потяну.

====

Можно, конечно, прямоугольник свой создать. Из отрезков.  Но заморачиваться нет желания.

 
Eugeni Neumoin #:

Я только в МТ4 программирую. Для МТ5 только по просьбам.

Разработки сложные. На двух платформах не потяну.

В этом случае решение выработано уже давно: написание кроссплатформенного кода. В итоге код пишется один, а работает сразу  и в МТ4, и в МТ5. Да, это несколько осложняет разработку, но в том то и дело, что речь не идет о написании двух кодов одновременно. Для графического отображения как раз и хорош Canvas. Он одинаково работает и там, и там, не нужно даже задумываться о том, как и что будет отображаться в разных платформах.

Хотя я, в свое время, даже с графическими объектами справился в плане кроссплатформенности. Но для этого пришлось методично пройтись по всем типам объектов с их свойствами и при помощи #define включить/выключить некоторые части кода, которые по-разному работали в МТ4 и МТ5.

 
Ihor Herasko #:
Для графического отображения как раз и хорош Canvas.

Надо будет посмотреть Canvas. 

 
Eugeni Neumoin #:

Надо будет посмотреть Canvas. 

Когда дойдете до практического желания, загляните вот в эту ветку. Там сразу найдете описание многих нюансов по работе с холстом. К тому же Николай (топикстартер) достаточно много помогает по возникающим проблемам.

Библиотеки: Easy Canvas - Добавлены в структуру Windows значения SubWin.
Библиотеки: Easy Canvas - Добавлены в структуру Windows значения SubWin.
  • 2018.09.06
  • Automated-Trading
  • www.mql5.com
Например так же можно создавать новые экземпляры класса и инициализировать их в момент создания. Например Некоторые возможности данной библиотеки продемонстрированы здесь и здесь. 16 исправлены некоторые ошибки и убыстрены некоторые функции
Причина обращения: