Подскажите как реализовать возможность разных цветов нажатой и отжатой кнопки?
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); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь