Ошибки, баги, вопросы - страница 1376

 
Vladimir Pastushak:

Мы задаем все параметры  и все параметры сохраняются кроме тол типа...

Цвет размер все сохраняется после перезагрузки только тол тип удаляеется ...

Да. Правильно. OBJPROP_TOOLTIP уничтожается при закрытии терминала. Но сам объект остаётся. Именно при попытке в лоб создать такой-же объект Вы не можете его создать и соответственно изменить его параметры и OBJPROP_TOOLTIP в частности.
 
Vladimir Pastushak:

Мы задаем все параметры  и все параметры сохраняются кроме тол типа...

Цвет размер все сохраняется после перезагрузки только тол тип удаляеется ...

Сделайте аналогично и забудьте как страшный сон ;)

//+------------------------------------------------------------------+
//| Создает кнопку                                                   |
//+------------------------------------------------------------------+
   void CGraphClass::ButtonCreate(const long chart_id=0,               // ID графика
                     const string            name="Button",            // имя кнопки
                     const int               sub_window=0,             // номер подокна
                     const int               x=0,                      // координата по оси X
                     const int               y=0,                      // координата по оси Y
                     const int               width=50,                 // ширина кнопки
                     const int               height=18,                // высота кнопки
                     const ENUM_BASE_CORNER  corner=CORNER_LEFT_UPPER, // угол графика для привязки
                     const string            text="Button",            // текст
                     const string            font="Arial",             // шрифт
                     const int               font_size=10,             // размер шрифта
                     const color             clr=clrBlack,             // цвет текста
                     const color             back_clr=C'236,233,216',  // цвет фона
                     const color             border_clr=clrNONE,       // цвет границы
                     const string            tooltip="\n",             // описание объекта
                     const bool              state=false,              // нажата/отжата
                     const bool              back=false,               // на заднем плане
                     const bool              selection=false,          // выделить для перемещений
                     const bool              hidden=true,              // скрыт в списке объектов
                     const long              z_order=0)                // приоритет на нажатие мышью
     {
      if(ObjectFind(name)<0) ObjectCreate(chart_id,name,OBJ_BUTTON,sub_window,0,0);
      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_CORNER,corner);
      ObjectSetString(chart_id,name,OBJPROP_TEXT,text);
      ObjectSetString(chart_id,name,OBJPROP_FONT,font);
      ObjectSetInteger(chart_id,name,OBJPROP_FONTSIZE,font_size);
      ObjectSetInteger(chart_id,name,OBJPROP_COLOR,clr);
      ObjectSetInteger(chart_id,name,OBJPROP_BGCOLOR,back_clr);
      ObjectSetInteger(chart_id,name,OBJPROP_BORDER_COLOR,border_clr);
      ObjectSetInteger(chart_id,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_id,name,OBJPROP_STATE,state);
      ObjectSetInteger(chart_id,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_id,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_id,name,OBJPROP_HIDDEN,hidden);
      ObjectSetString(chart_id,name,OBJPROP_TOOLTIP,tooltip);
      ObjectSetInteger(chart_id,name,OBJPROP_ZORDER,z_order);
     }
//+------------------------------------------------------------------+
 
Artyom Trishkin:

Сделайте аналогично и забудьте как страшный сон ;)

при таком подходе свойсва кнопки будут меняться на каждом тике...
 
Vladimir Pastushak:
при таком подходе свойсва кнопки будут меняться на каждом тике...
А Вы кнопку создайте один раз - в OnInit. 
 
Vladimir Pastushak:
при таком подходе свойсва кнопки будут меняться на каждом тике...

Странно. У меня же не меняются на каждом тике, а остаются нужными мне и заданными мною, и кнопку создаю всегда тогда, когда она нужна, а не в OnInit(), как Владимир советует.

Всегда отправляю кнопке нужный мне тип свойства тогда, когда мне нужно.

 
Karputov Vladimir:
А Вы кнопку создайте один раз - в OnInit. 
А если количесво кнопок динамическое ?
 
Vladimir Pastushak:
А если количесво кнопок динамическое ?

Создавайте тогда, когда нужно - всегда всё будет тогда, когда захотите. Не нужно придумывать проблемы - проверьте. При всё при том, тултипы сможете на-лету менять в зависимости от ситуации. При этом кнопка не будет создаваться по-новой, а вот её параметры будут меняться в соответствии с переданными в функцию новыми параметрами.

ЗЫ. Могу вам видео наглядное записать как меняются описания (тултипы) одного объекта в зависимости от состояния других объектов.

 
Artyom Trishkin:

Создавайте тогда, когда нужно - всегда всё будет тогда, когда захотите. Не нужно придумывать проблемы - проверьте. При всё при том, тултипы сможете на-лету менять в зависимости от ситуации. При этом кнопка не будет создаваться по-новой, а вот её параметры будут меняться в соответствии с переданными в функцию новыми параметрами.

ЗЫ. Могу вам видео наглядное записать как меняются описания (тултипы) одного объекта в зависимости от состояния других объектов.

С удовольствием посмотрю
 
Vladimir Pastushak:
С удовольствием посмотрю
Ну не сегодня - поздно уже. Спать пора.
 
Vladimir Pastushak:

Я создаю некий интерфейс, с кнопочками, при создании задаю тултип.    При перезагрузке терминала тул тип удаляется и его снова нужно прописывать...

Вот простой код который создаст кнопку с тултипом а после перезагрузки тултип пропадет , попробуйте ...

Вот как надо.

   if(ObjectCreate(chart_ID,name,OBJ_BUTTON,sub_window,0,0))
     {
      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_CORNER,corner);
      ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
      ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
      ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
      ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_COLOR,border_clr);
      ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
      ObjectSetInteger(chart_ID,name,OBJPROP_STATE,state);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
      ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
      ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
     }
   ObjectSetString(chart_ID,name,OBJPROP_TOOLTIP,"ROP_TOOLTIP");

Вам в сервисдеске на это уже указывали...

Причина обращения: