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

 
Подскажите как реализовать возможность разных цветов нажатой и отжатой кнопки?
 

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

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

if(нажата)

{

ObjectSetInteger(...,clrBlue) 

} 
 

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

 

   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);}
 
 
varyar84:

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

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

Не помогает.

Добавляю код в функцию 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();
   }

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

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

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

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

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

   if(ObjectGetInteger(0,"ButtonSignaler1",OBJPROP_STATE))
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,Red);
   }
   else 
   {
        ObjectSetInteger(0,"ButtonSignaler1",OBJPROP_BGCOLOR,LightSkyBlue);
   }
Причина обращения: