OBJ_LABEL se move para o centro quando inserido a partir da função, uma vez selecionado ele se move para o lado direito e parcialmente para fora da janela do gráfico. A encadernação está no canto superior direito. Função:
//+-------------------------------------------------------------------------------------------------+//| Параметры: |//| 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);
}
Nas versões anteriores do build 554 e anteriores, tudo funcionava como deveria, não havia saltos para o centro e depois para a direita fora dos limites da janela do gráfico, tudo estava ligado aos limites que estavam especificados.
No edifício 557, todas as coordenadas OBJ_EDIT se afastaram em 1 pixel em ambas as coordenadas. Os objetos estavam exatamente espaçados, agora todos eles são deslocados um pouco para a direita e para baixo.
Além disso, é impossível mover o OBJ_LABEL programmaticamente. Esta função de 5 funcionou bem em 555, eu não mudei meu código.
//+------------------------------------------------------------------+//| Перемещает текстовую метку |//+------------------------------------------------------------------+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);
}
//+------------------------------------------------------------------+
função similar funciona para botões, não para OBJ_LABEL.
Tenho os mesmos problemas com objetos que o bárbaro, usando a mesma função para OBJ_LABEL. Eu escrevi sobre isso aqui ontem de manhã. Eu sinto que a origem está fora do gráfico visível, não na borda do gráfico, mas na borda da janela. Se você exibir OBJ_LABEL com coordenadas +1 a partir do canto inferior direito, tudo estará bem. Os objetos na borda superior da carta também desaparecem, eles devem subir. Se você ampliar a tabela para a tela inteira, o OBJ_LABEL não mudará, mas estará no centro. Bem, o bárbaro já o descreveu, mas não está claro se você o consertou ou não.
Tenho os mesmos problemas com objetos que o bárbaro, usando a mesma função para OBJ_LABEL. Eu escrevi sobre isso aqui ontem de manhã. Eu sinto que a origem está fora do gráfico visível, não na borda do gráfico, mas na borda da janela. Se você exibir OBJ_LABEL com coordenadas +1 a partir do canto inferior direito, tudo estará bem. Os objetos na borda superior da carta também desaparecem, eles devem subir. Se você ampliar a tabela para a tela inteira, o OBJ_LABEL não mudará, mas estará no centro. Bem, o bárbaro já o descreveu, mas não está claro se você o consertou ou não.
Eu tenho a mesma coisa. Bild 557, acaba de atualizá-lo. Tenho um EA com muitas informações exibidas na tela, agora o gráfico é apenas o caos.
O texto completo(OBJ_LABEL) tem vida própria. E não está claro como as coordenadas são selecionadas, é como se fossem aleatórias. O que é interessante ao selecionar o salto, mas absolutamente não em seu lugar.
Junto com os quatro antigos, estamos fazendo um gerenciamento de objetos de cinco estilos.
Infelizmente, não é sem bugs
.
Felizmente, muitos bugs já foram corrigidos.
Está tudo claro. Ninguém, penso eu, espera que tudo corra completamente livre de erros. É que quando algo que funciona bem em 555 se torna pior em 556 ou não funciona de todo em 557, você fica indignado (inclusive o meu). Mas está tudo bem. Eu consertei os botões, obrigado. Entretanto, a renderização dos objetos ainda é feita pelo nome, não por ordem de chamada.
Bild 557.
OBJ_LABEL se move para o centro quando inserido a partir da função, uma vez selecionado ele se move para o lado direito e parcialmente para fora da janela do gráfico. A encadernação está no canto superior direito. Função:
Esta função é chamada:
Nas versões anteriores do build 554 e anteriores, tudo funcionava como deveria, não havia saltos para o centro e depois para a direita fora dos limites da janela do gráfico, tudo estava ligado aos limites que estavam especificados.
Comportamento incorreto dos objetos de texto reproduzidos na subjanela. Vamos corrigi-lo.
Por favor, aguarde.
Agora vou apenas clicar neles e todos eles estarão em seus lugares:
Obrigado. Reproduzido e corrigido
função similar funciona para botões, não para OBJ_LABEL.
Tenho os mesmos problemas com objetos que o bárbaro, usando a mesma função para OBJ_LABEL. Eu escrevi sobre isso aqui ontem de manhã. Eu sinto que a origem está fora do gráfico visível, não na borda do gráfico, mas na borda da janela. Se você exibir OBJ_LABEL com coordenadas +1 a partir do canto inferior direito, tudo estará bem. Os objetos na borda superior da carta também desaparecem, eles devem subir. Se você ampliar a tabela para a tela inteira, o OBJ_LABEL não mudará, mas estará no centro. Bem, o bárbaro já o descreveu, mas não está claro se você o consertou ou não.
Tenho os mesmos problemas com objetos que o bárbaro, usando a mesma função para OBJ_LABEL. Eu escrevi sobre isso aqui ontem de manhã. Eu sinto que a origem está fora do gráfico visível, não na borda do gráfico, mas na borda da janela. Se você exibir OBJ_LABEL com coordenadas +1 a partir do canto inferior direito, tudo estará bem. Os objetos na borda superior da carta também desaparecem, eles devem subir. Se você ampliar a tabela para a tela inteira, o OBJ_LABEL não mudará, mas estará no centro. Bem, o bárbaro já o descreveu, mas não está claro se você o consertou ou não.
Eu tenho a mesma coisa. Bild 557, acaba de atualizá-lo. Tenho um EA com muitas informações exibidas na tela, agora o gráfico é apenas o caos.
O texto completo(OBJ_LABEL) tem vida própria. E não está claro como as coordenadas são selecionadas, é como se fossem aleatórias. O que é interessante ao selecionar o salto, mas absolutamente não em seu lugar.
Tudo estava bem na construção 555.
Junto com o velho controle de objetos gráficos em quatro estilos, estamos fazendo um controle de objetos em cinco estilos.
Infelizmente, não está sem seus bugs. Felizmente, muitos bugs foram corrigidos.
Junto com os quatro antigos, estamos fazendo um gerenciamento de objetos de cinco estilos.
Infelizmente, não é sem bugs
.Felizmente, muitos bugs já foram corrigidos.
Está tudo claro. Ninguém, penso eu, espera que tudo corra completamente livre de erros. É que quando algo que funciona bem em 555 se torna pior em 556 ou não funciona de todo em 557, você fica indignado (inclusive o meu). Mas está tudo bem. Eu consertei os botões, obrigado. Entretanto, a renderização dos objetos ainda é feita pelo nome, não por ordem de chamada.
Ontem lutei com o quadro bmp e não consegui carregá-lo na tabela, e não sei se este ponto funciona ou ainda não ...