Discussão do artigo "Interfaces gráficas X: Seleção de texto na caixa de texto multilinha (build 13)" - página 14

 
Anatoli Kazharski:

Não entendo como você criou um elemento do tipo CTabs, se há uma verificação no método de criação de guias:

Ele foi criado sem problemas, não mexi nas fontes de classe, exceto pela destacada, usei classes sem substituição, ou seja, não forneci funcionalidade adicional, tudo funciona de forma dinâmica, as guias são adicionadas e removidas quando o número de guias aumenta ou diminui.

Às vezes, a mensagem acima aparece quando o número de guias == 0, mas tudo funciona sem problemas.

Mas se você não adicionar a guia selecionada, por exemplo, ao alterar o tamanho do formulário principal, o robô falha com um erro.
 
Konstantin:

Ele foi criado sem problemas, não mexi nos códigos-fonte das classes, exceto pelo destacado, usei classes sem substituição, ou seja, não forneci funcionalidade adicional, tudo funciona de forma dinâmica, as guias são adicionadas e removidas quando o valor do número de guias aumenta e diminui

Às vezes, a mensagem acima aparece quando o número de guias == 0, mas tudo funciona sem problemas.

Mas se você não adicionar a guia selecionada, por exemplo, ao redimensionar o formulário principal, o robô falha com um erro.

Ok, darei uma olhada em detalhes depois que a próxima versão for publicada. Haverá mudanças significativas que permitirão desenvolver a biblioteca de forma ainda mais rápida e fácil.
 
Anatoli Kazharski:

Ok, darei uma olhada em detalhes depois que a próxima versão for publicada. Haverá mudanças significativas que permitirão desenvolver a biblioteca de forma ainda mais rápida e fácil.

Espero que a estrutura da biblioteca não seja alterada.

Todos vocês farão as alterações sobre as quais escreveram acima?

Há um ponto que não me agrada: a biblioteca está vinculada ao catálogo com desenhos; seria melhor colocar esse catálogo dentro do catálogo da biblioteca, pois assim ele poderia ser colocado em qualquer lugar; por exemplo, ao trabalhar com o git, você precisa alterar tudo em pelo menos dois lugares.

 
Konstantin:

1. Espero que a estrutura da biblioteca não seja alterada?

2. todos vocês farão as alterações que foram escritas acima?

3. há um ponto que eu não gosto, a biblioteca está vinculada ao catálogo com imagens, seria melhor colocar esse catálogo dentro do catálogo da biblioteca, então ele poderia ser colocado em qualquer lugar, por exemplo, trabalhando com o git você tem que mudar tudo em pelo menos dois lugares.

1. Acredito que, para o usuário da biblioteca, isso não será perceptível. Todas as alterações e adições serão descritas em detalhes no artigo.

2. Algumas. Não todas de uma vez.

3. Para controles que eu acho que podem ser movidos. É claro que os controles personalizados também ficarão lá.

 

Você pode me dizer como implementar o trabalho com objetos da classe CStandardChart na compressão do gráfico pelo mouse, usando a escala de preços, ou seja, verticalmente como em um gráfico normal do terminal?

Pelo que sei, não há implementação desses eventos de mouse na biblioteca e você precisa implementá-los por conta própria. De qualquer forma, nunca fiz isso antes, então estou esperando por dicas )).
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи...
 
Konstantin:

Você pode me dizer como implementar o trabalho com objetos da classe CStandardChart na compressão do gráfico pelo mouse, usando a escala de preços, ou seja, verticalmente como em um gráfico normal do terminal?

Pelo que sei, não há implementação desses eventos de mouse na biblioteca e você precisa implementá-los por conta própria. De qualquer forma, nunca fiz isso antes, então estou esperando por dicas )).

Não tentei dessa forma, portanto não posso lhe dar uma dica.

Posso apenas sugerir esta variante:

Os cliques nos objetos do gráfico geram um evento com o identificador ON_CLICK_SUB_CHART. O parâmetro string(sparam) contém o nome do caractere no objeto do gráfico. Aceite a mensagem com esse identificador no manipulador de eventos da classe do usuário, defina o símbolo da mensagem na janela do gráfico e use sua funcionalidade pronta.

 
Anatoli Kazharski:

Como não experimentei dessa forma, não posso lhe dar conselhos.

Posso apenas sugerir esta variante:

Os cliques em objetos de gráfico geram um evento com o identificador ON_CLICK_SUB_CHART. O parâmetro string(sparam) contém o nome do caractere no objeto do gráfico. Aceite a mensagem com esse identificador no manipulador de eventos da classe do usuário, defina o símbolo da mensagem na janela do gráfico e use sua funcionalidade pronta.

isso não funcionará em objetos OBJ_CHART ((

Ao aplicar operações com gráficos para o objeto Chart (OBJ_CHART), aplicam-se as seguintes restrições:

  • você não pode fechar com ChartClose();
  • você não pode alterar o símbolo/período usando a função ChartSetSymbolPeriod();
  • as propriedades CHART_SCALE, CHART_BRING_TO_TOP, CHART_SHOW_DATE_SCALE e CHART_SHOW_PRICE_SCALE (ENUM_CHART_PROPERTY_INTEGER) não funcionam.
 
Konstantin:

não será possível realizar isso em objetos OBJ_CHART ((

Portanto, a variante que sugeri é relevante. )
 
Anatoli Kazharski:
Portanto, a opção que sugeri é relevante. )

Não é relevante, mas não é viável, pois essa funcionalidade não está habilitada para esses objetos pelos desenvolvedores do MQ.

 
Konstantin:

não é relevante, não é viável, essa funcionalidade não está habilitada para esses objetos pelos desenvolvedores do MQ

O que isso tem a ver com objetos? Eu estava sugerindo que você alternasse para o símbolo desejado a partir do objeto do gráfico em que clicou no gráfico principal.