Discussão do artigo "Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8)"

 

Novo artigo Interfaces Gráficas X: O controle Caixa de Texto Multilinha (build 8) foi publicado:

Neste artigo, nós vamos discutir o controle Caixa de Texto Multilinha. Ao contrário dos objetos gráficos do tipo OBJ_EDIT, a versão apresentada não terá restrições quanto ao número de caracteres de entrada. Ele também adiciona o modo para transformar a caixa de texto em um editor de texto simples, onde o cursor pode ser movido usando o mouse ou as teclas.

As teclas do teclado podem ser divididas em vários grupos (ver notação na Fig. 1):

  • Teclas de controle (laranja)
  • Teclas de função (roxo)
  • Teclas alfanuméricas (azul)
  • Teclas de navegação (verde)
  • Teclado numérico (vermelho)

 Fig. 1. Grupos de teclas (layout do teclado QWERTY).

Fig. 1. Grupos de teclas (layout do teclado QWERTY).


Autor: Anatoli Kazharski

 

Antes de mais nada, obrigado pelo artigo.

Um pedido muito importante: por favor, faça uma animação em gif. É impossível ter uma ideia objetiva de como o elemento funciona. Você precisa ver com seus olhos.

Se não for difícil.

Muito obrigado.

 
Реter Konow:

...

Um pedido muito grande - por favor, faça uma animação em gif. É impossível ter uma ideia objetiva do trabalho do elemento. Você precisa ver com seus olhos.

Faça o download dos arquivos em seu computador e teste você mesmo, por favor. Será melhor do que uma animação em gif.
 
Anatoli Kazharski:
Faça download dos arquivos em seu computador e teste você mesmo. Será melhor do que uma animação em gif.

Veja como eu imagino isso:

1. Terminar de aprender OOP.

2. terminar de estudar todas as inter-relações da biblioteca - suas classes, funções, variáveis....

3. escrever um EA que implemente o elemento descrito no artigo. Entretanto, mesmo com isso, posso ter dificuldades e terei que me corresponder aqui com você para ajudá-lo a resolvê-las.


É claro que essa opção é melhor, mas só poderei implementá-la em algumas semanas, ou talvez meses....

E aqui, algumas dezenas de minutos e o resultado será visto por todos...

Bem, vamos lá...

 
Реter Konow:

Veja como eu imagino isso:

1. Terminar de aprender OOP.

2. estudar todas as inter-relações da biblioteca até o fim - suas classes, funções, variáveis....

3. escrever um Expert Advisor implementando o elemento descrito no artigo. Entretanto, mesmo com isso, posso ter dificuldades e terei de me corresponder aqui com você para ajudá-lo a resolvê-las.


É claro que essa opção é melhor, mas só poderei implementá-la em algumas semanas, ou talvez meses....

E aqui, algumas dezenas de minutos e o resultado será visto por todos...

Bem, vamos lá...

Tudo o que você precisa fazer é baixar os arquivos do arquivo no final do artigo e compilar o Expert Advisor para o teste. Isso não levará mais do que um minuto.
 
 
Anatoli Kazharski:

Obrigado.

O cursor passa perfeitamente sobre o texto. Ele é transferido com o mouse e as teclas. O texto rola. Foi isso que descobri.

Mas o que eu não entendo é como o texto entra na tela. Você não mostrou isso no vídeo.

 
Реter Konow:

...

Mas não entendo como o texto entra na tela. Você não mostrou isso no vídeo.

Da mesma forma que você digita o texto no teclado, ele também chega à tela. E o vídeo também mostra isso (inserindo o texto "Hello world!").

Faça o download dos arquivos para o teste e experimente você mesmo.

 
Anatoli Kazharski:

Assim como você o digita no teclado, ele também aparece na tela. O vídeo também mostra isso.

Faça o download dos arquivos para o teste e experimente você mesmo.

No vídeo, você insere o texto no campo de entrada na parte superior. "Hello world!" não aparece na tela. É por isso que estou perguntando.


Adicionado:

Fiz o download da biblioteca, mas, sinceramente, não tenho ideia de como fazer tudo isso. Não há instruções.

 
Реter Konow:
No vídeo, você insere o texto na caixa de entrada na parte superior. "Hello world!" não aparece na tela. É por isso que estou perguntando.

No vídeo, há dois campos de entrada criados usando a classe CTextBox implementada no artigo.

O primeiro campo de entrada está no modo de linha única. O segundo campo de entrada está no modo de várias linhas. O artigo fala sobre isso na seção:

Para o teste, vamos criar um aplicativo MQL com uma interface gráfica, onde haverá dois campos de entrada de texto. Um será de linha única e o outro será de várias linhas.

Talvez, antes de fazer perguntas e afirmações, você deva primeiro ler o artigo e testar os arquivos fornecidos para testes? Esse é o mínimo necessário para se chegar a uma discussão.

 
Anatoli Kazharski:

O vídeo mostra dois campos de entrada criados usando a classe CTextBox implementada no artigo.

O primeiro campo de entrada está no modo de linha única. O segundo campo de entrada está no modo de várias linhas. Isso é descrito no artigo na seção:

Talvez, antes de fazer perguntas e afirmações, você deva primeiro ler o artigo e testar os arquivos de teste fornecidos? Esse é um mínimo necessário para chegar à discussão.

A propósito, eu não fiz nenhuma declaração. Li o artigo, mas não entendi os pontos principais (há muito código e meus olhos se perdem).

Se você puder, responda a algumas perguntas:

1. No aplicativo de teste do item, é declarado um array inicializado com strings. Isso significa que as cadeias de caracteres vão para a tela a partir dela ou podem ser impressas diretamente na tela?

2. O campo de entrada superior é independente e não tem relação com a tela inferior? Então o texto não é transferido dele para a Web? Sua finalidade é aumentar o número de caracteres de entrada?

3) Se o texto da tela é inicializado dentro do programa e não é escrito na tela, por que você precisa de um cursor em execução?

4. É possível apagar o texto na Web com o cursor e adicioná-lo com o teclado?


Obrigado.