twin2010:
Здравствуйте!
Подскажите, пожалуйста, как в MQL4 вывести на график поле ввода, в котором можно поставить/удалить галочку. И чтобы информация о наличии/отсутствии галочки могла быть считана советником. Спасибо!
Если нужна только одна кнопка в двух состояниях, то OBJ_BUTTON подойдет.
Если более сложное что-то то вот с этого начните:
https://www.mql5.com/ru/articles/2125
или со справки к языку. А дальше или готовое используйте или свое решение пишите.
Графические интерфейсы I: Подготовка структуры библиотеки (Глава 1)
- 2015.12.10
- Anatoli Kazharski
- www.mql5.com
С этой статьи я начинаю еще одну серию, относящуюся к разработке графических интерфейсов. На текущий момент нет ни одной библиотеки кода, которая позволяла бы легко и быстро создавать качественные графические интерфейсы в MQL-приложениях. Я имею в виду графические интерфейсы, к которым мы все привыкли в известных операционных системах.
Спасибо! Да, нужно только 2 состояния. Но, я не понял, как использовать OBJ_BUTTON, чтобы ставить галочку
А можно сюда скопировать кусок кода, чтобы рисовало, как на моем рисунке?
У кнопки нет галочки, у не два состояния: нажата, отжата.
Я это понимаю. Но мне нужно ставить/убирать галочку. Можно сюда скопировать кусок кода, чтобы рисовало, как на моем рисунке?
Эксперт
#property strict int OnInit() { int x=100,y=50; ObjectCreate(0,"cb1",OBJ_LABEL,0,0,0); ObjectSetString(0,"cb1",OBJPROP_FONT,"Wingdings"); ObjectSetInteger(0,"cb1",OBJPROP_FONTSIZE,20); ObjectSetString(0,"cb1",OBJPROP_TEXT,CharToString(110)); ObjectSetInteger(0,"cb1",OBJPROP_COLOR,clrSilver); ObjectSetInteger(0,"cb1",OBJPROP_SELECTABLE,false); ObjectSetInteger(0,"cb1",OBJPROP_XDISTANCE,x); ObjectSetInteger(0,"cb1",OBJPROP_YDISTANCE,y); ObjectCreate(0,"cb2",OBJ_LABEL,0,0,0); ObjectSetString(0,"cb2",OBJPROP_FONT,"Wingdings"); ObjectSetInteger(0,"cb2",OBJPROP_FONTSIZE,16); ObjectSetString(0,"cb2",OBJPROP_TEXT,CharToString(252)); ObjectSetInteger(0,"cb2",OBJPROP_COLOR,clrBlack); ObjectSetInteger(0,"cb2",OBJPROP_SELECTABLE,false); ObjectSetInteger(0,"cb2",OBJPROP_SELECTABLE,false); ObjectSetInteger(0,"cb2",OBJPROP_XDISTANCE,x+1); ObjectSetInteger(0,"cb2",OBJPROP_YDISTANCE,y+5); return(INIT_SUCCEEDED); } void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_CLICK){ if(sparam=="cb1" || sparam=="cb2"){ if(ObjectGetString(0,"cb2",OBJPROP_TEXT)==""){ ObjectSetString(0,"cb2",OBJPROP_TEXT,CharToString(252)); Comment("on"); } else{ ObjectSetString(0,"cb2",OBJPROP_TEXT,""); Comment("off"); } } } }
Огромное спасибо!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте!
Подскажите, пожалуйста, как в MQL4 вывести на график поле ввода, в котором можно поставить/удалить галочку. И чтобы информация о наличии/отсутствии галочки могла быть считана советником. Спасибо!