Anatol, você pode me dizer se é possível alterar dinamicamente a descrição do processo na barra de progresso?
Suponha que tenhamos uma matriz de nomes de símbolos. Fazemos um loop nessa matriz e obtemos os nomes dos caracteres. Em seguida, cada símbolo é processado pelo programa para obter dados dele. O ciclo geral é exibido por uma barra de progresso, mas eu gostaria de exibir o processo de processamento de cada símbolo individual. Portanto, assine o nome do processo "processando CMG" e, em seguida, ao processar o próximo, já escreva outro nome do processo: "processando EQIX" etc.
Não se sabe de antemão quais símbolos podem estar na matriz, ou seja, não será possível preparar um monte de barras de progresso, e isso não é ideal com mais de mil nomes de símbolos diferentes....
Anatol, você pode me dizer se é possível alterar dinamicamente a descrição do processo na barra de progresso?
Suponha que tenhamos uma matriz de nomes de símbolos. Fazemos um loop nessa matriz e obtemos os nomes dos caracteres. Em seguida, cada símbolo é processado pelo programa para obter dados dele. O ciclo geral é exibido por uma barra de progresso, mas eu gostaria de exibir o processo de processamento de cada símbolo individual. Portanto, assine o nome do processo "processando CMG" e, em seguida, ao processar o próximo, já escreva outro nome do processo: "processando EQIX" etc.
Você não sabe antecipadamente quais símbolos podem estar na matriz, ou seja, não é possível preparar várias barras de progresso, e isso não é ideal com mais de mil nomes de símbolos diferentes....
Atualmente, esse método não existe. Na próxima atualização, adicionarei esse recurso para cada elemento que tenha uma descrição de texto. Ou seja, será possível alterar o texto depois que o item for criado.
Anatoli Kazharski: No momento, não existe esse método. Na próxima atualização, adicionarei esse recurso para cada elemento que tenha uma descrição de texto. Ou seja, será possível alterar o texto depois que o item for criado.
Obrigado, estou ansioso por isso ;)
Pergunta: em seus exemplos, você tem esse código para criar uma barra de progresso:
//+------------------------------------------------------------------+//| Cria uma barra de progresso|//+------------------------------------------------------------------+bool CProgram::CreateProgressBar(constint x_gap,constint y_gap)
{
//--- Salvar o ponteiro no formulário
m_progress_bar.WindowPointer(m_window);
//--- Coordenadasint x=m_window.X()+x_gap;
int y=m_window.Y()+y_gap;
//--- Definir propriedades antes da criação
m_progress_bar.YSize(15);
m_progress_bar.BarYSize(11);
m_progress_bar.BarXOffset(65);
m_progress_bar.BarYOffset(2);
m_progress_bar.BarBorderWidth(1);
m_progress_bar.LabelText("Processing:");
m_progress_bar.AreaColor(C'225,225,225');
m_progress_bar.BarAreaColor(clrWhiteSmoke);
m_progress_bar.BarBorderColor(clrWhiteSmoke);
m_progress_bar.IsDropdown(true);
m_progress_bar.AutoXResizeMode(true);
m_progress_bar.AutoXResizeRightOffset(230);
//--- Criando um elementoif(!m_progress_bar.CreateProgressBar(m_chart_id,m_subwin,x,y))
return(false);
//--- Ocultar elemento
m_progress_bar.Hide();
//--- Adicione um ponteiro ao elemento na base
CWndContainer::AddToElementsArray(0,m_progress_bar);
return(true);
}
//+------------------------------------------------------------------+
Zero response. Aparentemente, no método Update, além de alterar os valores de índice e total, é necessário escrever o outro m_indicator_color e assim por diante. Caso contrário, esses métodos não são aplicados em lugar algum, exceto durante a criação. Ou foi essa a intenção?
... Caso contrário, esses métodos não se aplicam em lugar algum, exceto na criação. Ou foi essa a intenção?
Sim, esta é uma versão temporária. Em breve (nos próximos artigos), haverá atualizações maciças para todos os controles, nas quais será possível alterar qualquer propriedade em tempo de execução.
Anatoli Kazharski: Sim, esta é uma versão temporária. Em breve (nos próximos artigos), haverá atualizações maciças para todos os controles, nas quais será possível alterar qualquer propriedade em tempo de execução.
Isso é animador. Nesse meio tempo, encontrei uma solução temporária:
//+------------------------------------------------------------------+//|| Atualiza a barra de progresso|//+------------------------------------------------------------------+void CProgressBar::Update(constint index,constint total)
{
//--- Definir novo índice
CurrentIndex(index);
//--- Definir novo intervalo
StepsTotal(total);
//--- Calcular a largura do indicadordouble new_width=(m_current_index/m_steps_total)*m_bar_bg.XSize();
//--- Ajuste se for menor que 1if((int)new_width<1)
new_width=1;
else
{
//--- Ajuste para a largura do quadroint x_size=m_bar_bg.XSize()-(m_bar_border_width*2);
//--- Corrigir se estiver fora dos limitesif((int)new_width>=x_size)
new_width=x_size;
}
//--- Definir uma nova largura para o indicador
m_indicator.X_Size((int)new_width);
//--- Calcular a porcentagem e formar uma stringdouble percent =m_current_index/m_steps_total*100;
string desc =::DoubleToString((percent>100)? 100 : percent,m_digits)+"%";
//--- Definir o novo valor
m_percent.Description(desc);
m_indicator.BackColor(m_indicator_color);
m_indicator.Color(m_indicator_color);
}
172218684: Todos vocês, para esse grupo único de gritos de combate de ouro 172218684 172218684 , continuarão a obter lucros, um único grupo aqui gritando Verificação - a força não tem preço!
Anatol, você pode me dizer se é possível alterar dinamicamente a descrição do processo na barra de progresso?
Suponha que tenhamos uma matriz de nomes de símbolos. Fazemos um loop nessa matriz e obtemos os nomes dos caracteres. Em seguida, cada símbolo é processado pelo programa para obter dados dele. O ciclo geral é exibido por uma barra de progresso, mas eu gostaria de exibir o processo de processamento de cada símbolo individual. Portanto, assine o nome do processo "processando CMG" e, em seguida, ao processar o próximo, já escreva outro nome do processo: "processando EQIX" etc.
Não se sabe de antemão quais símbolos podem estar na matriz, ou seja, não será possível preparar um monte de barras de progresso, e isso não é ideal com mais de mil nomes de símbolos diferentes....
Anatol, você pode me dizer se é possível alterar dinamicamente a descrição do processo na barra de progresso?
Suponha que tenhamos uma matriz de nomes de símbolos. Fazemos um loop nessa matriz e obtemos os nomes dos caracteres. Em seguida, cada símbolo é processado pelo programa para obter dados dele. O ciclo geral é exibido por uma barra de progresso, mas eu gostaria de exibir o processo de processamento de cada símbolo individual. Portanto, assine o nome do processo "processando CMG" e, em seguida, ao processar o próximo, já escreva outro nome do processo: "processando EQIX" etc.
Você não sabe antecipadamente quais símbolos podem estar na matriz, ou seja, não é possível preparar várias barras de progresso, e isso não é ideal com mais de mil nomes de símbolos diferentes....
No momento, não existe esse método. Na próxima atualização, adicionarei esse recurso para cada elemento que tenha uma descrição de texto. Ou seja, será possível alterar o texto depois que o item for criado.
Obrigado, estou ansioso por isso ;)
Pergunta: em seus exemplos, você tem esse código para criar uma barra de progresso:
qual é o atributo do elemento dropdown para:
m_progress_bar.IsDropdown(true);???
Pergunta: Você tem este código para criar uma barra de progresso em seus exemplos:
qual é a finalidade da característica do elemento dropdown?
???
Para evitar a exibição da barra de progresso quando o formulário é expandido, quando ela não deveria estar visível.
Isso se aplica a todos os objetos que podem ser criados usando sua biblioteca?
A alteração dinâmica das propriedades da barra de progresso não funciona.
Por exemplo, eu queria alterar a cor:
Zero response. Aparentemente, no método Update, além de alterar os valores de índice e total, é necessário escrever o outro m_indicator_color e assim por diante. Caso contrário, esses métodos não são aplicados em lugar algum, exceto durante a criação. Ou foi essa a intenção?
... Caso contrário, esses métodos não se aplicam em lugar algum, exceto na criação. Ou foi essa a intenção?
Sim, esta é uma versão temporária. Em breve (nos próximos artigos), haverá atualizações maciças para todos os controles, nas quais será possível alterar qualquer propriedade em tempo de execução.
Isso é animador. Nesse meio tempo, encontrei uma solução temporária:
Todos vocês, para esse grupo único de gritos de combate de ouro 172218684 172218684 , continuarão a obter lucros, um único grupo aqui gritando Verificação - a força não tem preço!
Mentiroso