Скачать MetaTrader 5

Как изменить цвет нажатой кнопки?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Artem Kolosov
194
Artem Kolosov  
Подскажите как реализовать возможность разных цветов нажатой и отжатой кнопки?
poruchik
1842
poruchik  

 Плоуфабрикат, код  с mql5 >> mql4

Файлы:
Vasyl Nosal
18963
Vasyl Nosal  
OnChartEvent
там есть нажатие кнопки

if(нажата)

{

ObjectSetInteger(...,clrBlue) 

} 
Artem Kolosov
194
Artem Kolosov  

Реализовал вот так, но почему то не работает... :(

 

   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE,false))
    {ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,LightSkyBlue);}
   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE,true))
    {ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,Red);}
 
Рустам
3597
Рустам  
varyar84:

Реализовал вот так, но почему то не работает... :(

  Чарт обновите после изменения цвета.
Artem Kolosov
194
Artem Kolosov  

Не помогает.

Добавляю код в функцию OnTimer ...  

Если добавляю эти записи:

 

   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE,true))
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,Red);ChartRedraw();
   }

   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE,false))
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,LightSkyBlue);ChartRedraw();
   }

 То ничего не происходит.

Если добавляю только  

 if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE,true))
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,Red);ChartRedraw();
   }

 То при нажатии кнопка меняет цвет, но при повторном нажатии (отжатии) цвет остается прежним, то есть не меняется обратно.

 Что еще можно попробовать? 

Рустам
3597
Рустам  
вам надо проверять состояние нажатости кнопки, и уже по нему менять ее цвет.
Artem Kolosov
194
Artem Kolosov  

Всем спасибо, разобрался.

Вот рабочий код

   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE))
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,Red);
   }
   else 
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,LightSkyBlue);
   }
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий