OBJ_LABEL si sposta al centro quando viene impostato dalla funzione, una volta evidenziato si sposta sul lato destro e si sovrappone parzialmente alla finestra del grafico. La rilegatura è in alto a destra. Funzione:
//+-------------------------------------------------------------------------------------------------+//| Параметры: |//| nm - наименование объекта |//| tx - текст |//| cl - цвет метки |//| xd - координата X в пикселах |//| yd - координата Y в пикселах |//| cr - номер угла привязки (0 - левый верхний ) |//| 1 - правый верхний |//| 2 - левый нижний |//| 3 - правый нижний ) |//| fs - размер шрифта (9 - по умолчанию ) |//+-------------------------------------------------------------------------------------------------+void SetLabel(string nm, string tx, color cl, int xd, int yd, int cr=0, int fs=9) {
if(ObjectFind(nm)<0) ObjectCreate(nm, OBJ_LABEL, 0, 0, 0);
ObjectSetText(nm, tx, fs, "Arial");
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_XDISTANCE, xd);
ObjectSet(nm, OBJPROP_YDISTANCE, yd);
ObjectSet(nm, OBJPROP_CORNER , cr);
ObjectSet(nm, OBJPROP_FONTSIZE , fs);
}
Nelle versioni precedenti della build 554 e più vecchie, tutto funzionava come doveva, non c'erano salti al centro e poi a destra fuori dai confini della finestra del grafico, tutto era legato ai confini che erano stati specificati.
Nella build 557, tutte le coordinate OBJ_EDIT si sono spostate di 1 pixel in entrambe le coordinate. Gli oggetti erano esattamente distanziati, ora sono tutti spostati un po' a destra e in basso.
Inoltre, è impossibile spostare OBJ_LABEL programmaticamente. Questa funzione del 5 ha funzionato bene nel 555, non ho cambiato il mio codice.
//+------------------------------------------------------------------+//| Перемещает текстовую метку |//+------------------------------------------------------------------+bool LabelMove(constlong chart_ID=0, // ID графикаconststring name="Label", // имя меткиconstint x=0, // координата по оси Xconstint y=0) // координата по оси Y
{
//--- сбросим значение ошибкиResetLastError();
//--- переместим текстовую метку if(!ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x))
{
Print(__FUNCTION__,
": не удалось переместить X-координату метки! Код ошибки = ",GetLastError());
return(false);
}
if(!ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y))
{
Print(__FUNCTION__,
": не удалось переместить Y-координату метки! Код ошибки = ",GetLastError());
return(false);
}
//--- успешное выполнениеreturn(true);
}
//+------------------------------------------------------------------+
una funzione simile funziona per i pulsanti, non per OBJ_LABEL.
Ho gli stessi problemi con gli oggetti di Barbarian, usando la stessa funzione per OBJ_LABEL. Ne ho scritto qui ieri mattina. Mi sembra che l'origine sia fuori dal grafico visibile, non sul bordo del grafico, ma sul bordo della finestra. Se si visualizza OBJ_LABEL con coordinate +1 dall'angolo in basso a destra, tutto andrà bene. Anche gli oggetti sul bordo superiore del grafico scompaiono, devono andare verso l'alto. Se si ingrandisce il grafico a tutto schermo, l'OBJ_LABEL non si sposta, ma rimane al centro. Beh, Barbarian l'ha già descritto, ma non è chiaro se l'hai aggiustato o cosa.
Ho gli stessi problemi con gli oggetti di Barbarian, usando la stessa funzione per OBJ_LABEL. Ne ho scritto qui ieri mattina. Mi sembra che l'origine sia fuori dal grafico visibile, non sul bordo del grafico, ma sul bordo della finestra. Se si visualizza OBJ_LABEL con coordinate +1 dall'angolo in basso a destra, tutto andrà bene. Anche gli oggetti sul bordo superiore del grafico scompaiono, devono salire. Se si ingrandisce il grafico a tutto schermo, l'OBJ_LABEL non si sposta, ma rimane al centro. Beh, Barbarian l'ha già descritto, ma non è chiaro se l'hai aggiustato o cosa.
Ho la stessa cosa. Bild 557, appena aggiornato. Ho un EA con un sacco di informazioni visualizzate sullo schermo, ora il grafico è solo un caos.
L'intero testo(OBJ_LABEL) ha una vita propria. E non è chiaro come vengono selezionate le coordinate, sembra come se in modo casuale, che è interessante quando si seleziona il salto, ma non al loro posto.
Insieme alla vecchia gestione grafica degli oggetti a quattro, stiamo facendo una gestione degli oggetti a cinque.
Sfortunatamente, non è senza bug
.
Fortunatamente, molti bug sono già stati risolti.
È tutto chiaro. Nessuno, credo, si aspetta che tutto vada completamente senza errori. È solo che quando qualcosa che funziona bene nel 555 diventa peggiore nel 556 o non funziona affatto nel 557, si sentono voci indignate (compresa la mia). Ma va bene così. Ho sistemato i pulsanti, grazie. Tuttavia, il rendering degli oggetti è ancora per nome, non per ordine di chiamata.
Bild 557.
OBJ_LABEL si sposta al centro quando viene impostato dalla funzione, una volta evidenziato si sposta sul lato destro e si sovrappone parzialmente alla finestra del grafico. La rilegatura è in alto a destra. Funzione:
Chiamare questa funzione:
Nelle versioni precedenti della build 554 e più vecchie, tutto funzionava come doveva, non c'erano salti al centro e poi a destra fuori dai confini della finestra del grafico, tutto era legato ai confini che erano stati specificati.
Comportamento errato degli oggetti di testo nella sottofinestra riprodotta. Lo correggeremo.
Si prega di attendere.
Ora devo solo cliccarci sopra e saranno tutti al loro posto:
Grazie. Riprodotto e corretto
una funzione simile funziona per i pulsanti, non per OBJ_LABEL.
Ho gli stessi problemi con gli oggetti di Barbarian, usando la stessa funzione per OBJ_LABEL. Ne ho scritto qui ieri mattina. Mi sembra che l'origine sia fuori dal grafico visibile, non sul bordo del grafico, ma sul bordo della finestra. Se si visualizza OBJ_LABEL con coordinate +1 dall'angolo in basso a destra, tutto andrà bene. Anche gli oggetti sul bordo superiore del grafico scompaiono, devono andare verso l'alto. Se si ingrandisce il grafico a tutto schermo, l'OBJ_LABEL non si sposta, ma rimane al centro. Beh, Barbarian l'ha già descritto, ma non è chiaro se l'hai aggiustato o cosa.
Ho gli stessi problemi con gli oggetti di Barbarian, usando la stessa funzione per OBJ_LABEL. Ne ho scritto qui ieri mattina. Mi sembra che l'origine sia fuori dal grafico visibile, non sul bordo del grafico, ma sul bordo della finestra. Se si visualizza OBJ_LABEL con coordinate +1 dall'angolo in basso a destra, tutto andrà bene. Anche gli oggetti sul bordo superiore del grafico scompaiono, devono salire. Se si ingrandisce il grafico a tutto schermo, l'OBJ_LABEL non si sposta, ma rimane al centro. Beh, Barbarian l'ha già descritto, ma non è chiaro se l'hai aggiustato o cosa.
Ho la stessa cosa. Bild 557, appena aggiornato. Ho un EA con un sacco di informazioni visualizzate sullo schermo, ora il grafico è solo un caos.
L'intero testo(OBJ_LABEL) ha una vita propria. E non è chiaro come vengono selezionate le coordinate, sembra come se in modo casuale, che è interessante quando si seleziona il salto, ma non al loro posto.
Tutto era a posto nella build 555.
Insieme al vecchio controllo degli oggetti grafici in stile Quattro, stiamo facendo un controllo degli oggetti in stile Cinque.
Sfortunatamente, non è senza bug. Fortunatamente, molti bug sono stati risolti.
Insieme alla vecchia gestione grafica degli oggetti a quattro, stiamo facendo una gestione degli oggetti a cinque.
Sfortunatamente, non è senza bug
.Fortunatamente, molti bug sono già stati risolti.
È tutto chiaro. Nessuno, credo, si aspetta che tutto vada completamente senza errori. È solo che quando qualcosa che funziona bene nel 555 diventa peggiore nel 556 o non funziona affatto nel 557, si sentono voci indignate (compresa la mia). Ma va bene così. Ho sistemato i pulsanti, grazie. Tuttavia, il rendering degli oggetti è ancora per nome, non per ordine di chiamata.
Ieri ho lottato con l'immagine bmp e non sono riuscito a caricarla sul grafico, e non so ancora se questo punto funziona o no...