오류, 버그, 질문 - 페이지 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 :
이 접근 방식을 사용하면 버튼의 속성이 틱마다 변경됩니다...

기이한. 나를 위해, 그것들은 매 틱마다 바뀌지 않지만, 그들은 나에게 여전히 필요하고 나에 의해 설정되며, Vladimir가 조언하는 것처럼 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" );

이미 서비스데스크에서 이런 얘기를 하셨는데...