Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен OpenCL? MQL5 предоставляет такую возможность!
Artem Kolosov
194
Artem Kolosov 2015.10.15 10:58 
Подскажите как реализовать возможность разных цветов нажатой и отжатой кнопки?
poruchik
908
poruchik 2015.10.15 15:40  

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

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

if(нажата)

{

ObjectSetInteger(...,clrBlue) 

} 
Artem Kolosov
194
Artem Kolosov 2015.10.15 16:15  

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

 

   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);}
 
Рустам
3602
Рустам 2015.10.15 16:41  
varyar84:

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

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

Не помогает.

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

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

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

Рустам
3602
Рустам 2015.10.15 21:04  
вам надо проверять состояние нажатости кнопки, и уже по нему менять ее цвет.
Artem Kolosov
194
Artem Kolosov 2015.10.15 21:43  

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

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

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