обратие внимание на его функцию Button. Все завязано на ObjectCreate, если ObjectCreate выполнился, то обьекту задаются параметры, если нет - не задаются. Если обьект уже есть на графике, то ObjectCreate не выполнится, вернет false. Т.е. добавлять эти проверки не имеет смысла.
bool Button(constlong chart_ID=0, // ID графика conststring name="BmpLabel", // имя метки constint sub_window=0, // номер подокна constint x=0, // координата по оси X constint y=0, // координата по оси Y conststring file_on="", // картинка в режиме On conststring file_off="", // картинка в режиме Off constint width=0, // X-координата области видимости constint height=0, // Y-координата области видимости constint x_offset=10, // смещение области видимости по X constint y_offset=10, // смещение области видимости по Y constbool state=false, // нажата/отжата constENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // угол графика для привязки constENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // способ привязки constcolor clr=clrRed, // цвет рамки при выделении constENUM_LINE_STYLE style=STYLE_SOLID, // стиль линии при выделении constint point_width=1, // размер точки перемещения constbool back=false, // на заднем плане constbool selection=false, // выделить для перемещений constbool hidden=true, // скрыт в списке объектов constlong z_order=0) // приоритет на нажатие мышью
{
//--- сбросим значение ошибки ResetLastError();
//--- создадим графическую метку if(if(ObjectFind(0,"LOGO")<0))
{
ObjectCreate(chart_ID,name,OBJ_BITMAP_LABEL,sub_window,0,0)
//--- установим картинки для режимов On и Off ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,0,file_on);
ObjectSetString(chart_ID,name,OBJPROP_BMPFILE,1,file_off);
//--- установим координаты метки ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- установим область видимости изображения; если значения ширины или высоты //--- больше значений ширины и высоты (соответственно) исходного изображения, то //--- оно не рисуется; если значения ширины и высоты меньше размеров изображения, //--- то рисуется та его часть, которая соответствует этим размерам ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
//--- установим, какая часть изображения должна показываться в области видимости //--- по умолчанию это левая верхняя область изображения; значения позволяют //--- произвести сдвиг от этого угла и отобразить другую часть изображения ObjectSetInteger(chart_ID,name,OBJPROP_XOFFSET,x_offset);
ObjectSetInteger(chart_ID,name,OBJPROP_YOFFSET,y_offset);
//--- установим, в каком сотоянии находится метка (нажатом или отжатом) ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
//--- установим угол графика, относительно которого будут определяться координаты точки ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- установим способ привязки ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//--- установим цвет рамки при включенном режиме выделения объекта ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- установим стиль линии рамки при включенном режиме выделения объекта ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
//--- установим размер точки привязки, с помощью которой можно перемещать объект ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,point_width);
//--- отобразим на переднем (false) или заднем (true) плане ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- включим (true) или отключим (false) режим перемещения метки мышью ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- установим приоритет на получение события нажатия мыши на графике ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- успешное выполнение return(true);
}
returnfalse;
}
//+------------------------------------------------------------------+
ох как я люблю тех кто спорит не только не проверив элементарные вещи, но даже не открыв справку. прям хочется высказаться, но.. в общем или читайте справку или проверяйте прежде чем спорить ) поставьте этот скрипт дважды на график. Потом посмотрите на функцию Button топик стартера:
а потом ответте себе на вопрос, будут ли выполнены функции внутри этого if если обьект уже есть на графике? НЕТ, НЕ БУДУТ. Так же как и в скрипте предложенном мной. значит если не делать удаление обьектов при деинициализации по причине смены ТФ, новые свойства для обьектов заданы не будут, останутся старые.
ох как я люблю тех кто спорит не только не проверив элементарные вещи, но даже не открыв справку. прям хочется высказаться, но.. в общем или читайте справку или проверяйте прежде чем спорить ) поставьте этот скрипт дважды на график. Потом посмотрите на функцию Button топик стартера:
а потом ответте себе на вопрос, будут ли выполнены функции внутри этого if если обьект уже есть на графике? НЕТ, НЕ БУДУТ. Так же как и в скрипте предложенном мной. значит если не делать удаление обьектов при деинициализации по причине смены ТФ, новые свойства для обьектов заданы не будут, останутся старые.
Мужики, Спасибо вам больше что вообще откликнулись и помогаете вот сами кнопки: https://yadi.sk/d/Nd87BssVX3cGFQ
ОГРОМНОЕ вам спасибо!!! я не понимаю почему у меня не работало, могли бы вы еще помочь: 1) хотелось бы у вас узнать почему когда показывается меню, далее если закрыть терминал и заново открыть все на стоковом состоянии, можно ли это как то исправить? чтобы было как до закрытия 2) не менее важное но всё же... моли бы помочь сделать так чтобы какие то кнопки в меню были красные(я имею ввиду не просто поменять цвет, как я делал) а именно чтобы что-то было активно а что-то нет
ОГРОМНОЕ вам спасибо!!! я не понимаю почему у меня не работало, могли бы вы еще помочь: 1) хотелось бы у вас узнать почему когда показывается меню, далее если закрыть терминал и заново открыть все на стоковом состоянии, можно ли это как то исправить? чтобы было как до закрытия 2) не менее важное но всё же... моли бы помочь сделать так чтобы какие то кнопки в меню были красные(я имею ввиду не просто поменять цвет, как я делал) а именно чтобы что-то было активно а что-то нет
1) терминал перезапускается. этот случай мы не прописывали. вот так подойдет if(reason != REASON_CHARTCHANGE && reason != REASON_CLOSE) { 2) вам нужно лучше освоить работу с объектами ) начните с малого )
1) терминал перезапускается. этот случай мы не прописывали. вот так подойдет if(reason != REASON_CHARTCHANGE && reason != REASON_CLOSE) { 2) вам нужно лучше освоить работу с объектами ) начните с малого )
держите нас в курсе )
Пожалуйста добавьте любой текст сверху на кнопку, я добавляю текст и у меня кнопка становится некативной если нажимать на этот текст, работает если скраю нажать на неё
обратие внимание на его функцию Button. Все завязано на ObjectCreate,
если ObjectCreate выполнился, то обьекту задаются параметры, если нет - не задаются.
Если обьект уже есть на графике, то ObjectCreate не выполнится, вернет false.
Т.е. добавлять эти проверки не имеет смысла.
ObjectCreate будет выполнятся всегда
лучше сделать как предложил Виталий
только не в ините, а в самой функции
ObjectCreate будет выполнятся всегда
лучше сделать как предложил Виталий
только не в ините, а в самой функции
ох как я люблю тех кто спорит не только не проверив элементарные вещи, но даже не открыв справку. прям хочется высказаться, но..
в общем или читайте справку или проверяйте прежде чем спорить )
поставьте этот скрипт дважды на график. Потом посмотрите на функцию Button топик стартера:
а потом ответте себе на вопрос, будут ли выполнены функции внутри этого if если обьект уже есть на графике? НЕТ, НЕ БУДУТ. Так же как и в скрипте предложенном мной.
значит если не делать удаление обьектов при деинициализации по причине смены ТФ, новые свойства для обьектов заданы не будут, останутся старые.
ох как я люблю тех кто спорит не только не проверив элементарные вещи, но даже не открыв справку. прям хочется высказаться, но..
в общем или читайте справку или проверяйте прежде чем спорить )
поставьте этот скрипт дважды на график. Потом посмотрите на функцию Button топик стартера:
а потом ответте себе на вопрос, будут ли выполнены функции внутри этого if если обьект уже есть на графике? НЕТ, НЕ БУДУТ. Так же как и в скрипте предложенном мной.
значит если не делать удаление обьектов при деинициализации по причине смены ТФ, новые свойства для обьектов заданы не будут, останутся старые.
Мужики, Спасибо вам больше что вообще откликнулись и помогаете
вот сами кнопки:
https://yadi.sk/d/Nd87BssVX3cGFQ
Мужики, Спасибо вам больше что вообще откликнулись и помогаете
вот сами кнопки:
https://yadi.sk/d/Nd87BssVX3cGFQ
как я советовал, так и работает )
как я советовал, так и работает )
ОГРОМНОЕ вам спасибо!!! я не понимаю почему у меня не работало, могли бы вы еще помочь:
1) хотелось бы у вас узнать почему когда показывается меню, далее если закрыть терминал и заново открыть все на стоковом состоянии, можно ли это как то исправить? чтобы было как до закрытия
2) не менее важное но всё же... моли бы помочь сделать так чтобы какие то кнопки в меню были красные(я имею ввиду не просто поменять цвет, как я делал) а именно чтобы что-то было активно а что-то нет
как я советовал, так и работает )
Плюнул вверх и не отошел...
ОГРОМНОЕ вам спасибо!!! я не понимаю почему у меня не работало, могли бы вы еще помочь:
1) хотелось бы у вас узнать почему когда показывается меню, далее если закрыть терминал и заново открыть все на стоковом состоянии, можно ли это как то исправить? чтобы было как до закрытия
2) не менее важное но всё же... моли бы помочь сделать так чтобы какие то кнопки в меню были красные(я имею ввиду не просто поменять цвет, как я делал) а именно чтобы что-то было активно а что-то нет
1) терминал перезапускается. этот случай мы не прописывали.
вот так подойдет if(reason != REASON_CHARTCHANGE && reason != REASON_CLOSE) {
2) вам нужно лучше освоить работу с объектами ) начните с малого )
Плюнул вверх и не отошел...
1) терминал перезапускается. этот случай мы не прописывали.
держите нас в курсе )вот так подойдет if(reason != REASON_CHARTCHANGE && reason != REASON_CLOSE) {
2) вам нужно лучше освоить работу с объектами ) начните с малого )
Пожалуйста добавьте любой текст сверху на кнопку, я добавляю текст и у меня кнопка становится некативной если нажимать на этот текст, работает если скраю нажать на неё