Hatalar, hatalar, sorular - sayfa 1376

 
Vladimir Pastushak :

Tüm parametreleri ayarlıyoruz ve tol tipi dışındaki tüm parametreler kaydediliyor...

Yeniden başlatmanın ardından renk boyutunun tamamı korunur, yalnızca tür silinir ...

Evet. Doğru şekilde. OBJPROP_TOOLTIP, terminal kapatıldığında yok edilir . Ama nesnenin kendisi kalır. Aynı nesneyi doğrudan oluşturmaya çalıştığınızda onu oluşturamazsınız ve buna göre parametrelerini ve özellikle OBJPROP_TOOLTIP'i değiştirin.
 
Vladimir Pastushak :

Tüm parametreleri ayarlıyoruz ve tol tipi dışındaki tüm parametreler kaydediliyor...

Yeniden başlatmanın ardından renk boyutunun tamamı korunur, yalnızca tür silinir ...

Aynısını yap ve kötü bir rüya gibi unut ;)

 //+------------------------------------------------------------------+
//| Создает кнопку                                                   |
//+------------------------------------------------------------------+
   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 :

Aynısını yap ve kötü bir rüya gibi unut ;)

bu yaklaşımla, butonun özellikleri her tikte değişecektir...
 
Vladimir Pastushak :
bu yaklaşımla, düğmenin özellikleri her tikte değişecektir...
Ve düğmeyi bir kez yaratırsınız - OnInit'te.
 
Vladimir Pastushak :
bu yaklaşımla, düğmenin özellikleri her tikte değişecektir...

Garip. Benim için her tıklamada değişmezler , ancak gerekli ve benim tarafımdan ayarlanmış olarak kalırlar ve Vladimir'in önerdiği gibi OnInit'te () değil, gerektiğinde her zaman bir düğme oluştururum.

İhtiyacım olduğunda her zaman ihtiyacım olan özellik türünü butona gönderirim.

 
Karputov Vladimir :
Ve düğmeyi bir kez yaratırsınız - OnInit'te.
Ve eğer düğmelerin sayısı dinamikse?
 
Vladimir Pastushak :
Ve eğer düğmelerin sayısı dinamikse?

İhtiyacınız olduğunda yaratın - her şey her zaman istediğiniz zaman olacak. Sorun icat etmeye gerek yok - kontrol edin. Tüm bunlarla birlikte, duruma bağlı olarak araç ipuçları anında değiştirilebilir. Bu durumda düğme yeni bir şekilde oluşturulmayacak, ancak parametreleri fonksiyona geçirilen yeni parametrelere göre değişecektir.

not. Bir nesnenin açıklamalarının (araç ipuçlarının) diğer nesnelerin durumuna bağlı olarak nasıl değiştiğine dair görsel bir video kaydedebilirim.

 
Artyom Trishkin :

İhtiyacınız olduğunda yaratın - her şey her zaman istediğiniz zaman olacak. Sorun icat etmeye gerek yok - kontrol edin. Tüm bunlarla birlikte, duruma bağlı olarak araç ipuçları anında değiştirilebilir. Bu durumda düğme yeni bir şekilde oluşturulmayacak, ancak parametreleri fonksiyona geçirilen yeni parametrelere göre değişecektir.

not. Bir nesnenin açıklamalarının (araç ipuçlarının) diğer nesnelerin durumuna bağlı olarak nasıl değiştiğine dair görsel bir video kaydedebilirim.

seve seve bakarım
 
Vladimir Pastushak :
seve seve bakarım
Pekala, bugün olmaz, çok geç. Uyku zamanı.
 
Vladimir Pastushak :

Düğmelerle bir tür arayüz oluşturuyorum, oluştururken bir araç ipucu ayarladım. Terminal yeniden başlatıldığında araç tipi silinir ve tekrar yazılması gerekir...

İşte bir araç ipucu ile bir düğme oluşturacak ve araç ipucunu yeniden yükledikten sonra kaybolacak basit bir kod, deneyin ...

İşte nasıl.

   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" );

Bunu servis masasında zaten söylediniz...