Fazendo um projeto de crowdsourced em Tela - página 5

 
Реter Konow:

Na minha implementação, os pontos A e B são representados pela localização de dois objetos - a coordenada X da pista deslizante (seu início) e a coordenada X da pista deslizante.

o mesmo na versão desenhada.

você está pensando de forma restrita, argumentando sobre alguns ObjectGet/Set
pelo menos três modelos se fundem no controle - gráficos, eventos, dados.
não importa onde ou como é desenhado. pode ser em forma de texto como [.......|...]. também pode aparecer na tela, ou dois objetos retangulares MT podem ser mostrados.

O modelo de eventos ou dados não sofre com isso.

 
o_O:

é o mesmo na versão desenhada.

você está pensando de forma restrita, falando de algum ObjectGet/Set
O controle funde pelo menos três modelos - gráficos, eventos, dados.
Não importa onde e como é desenhado. Pode ser em forma de texto como [.......|...]. Também pode aparecer em uma tela, ou você pode ter dois objetos retangulares MT.

O modelo de eventos ou dados não sofre com isso.


Ainda assim, o mecanismo não é claro para mim. Se você puder explicar com mais detalhes, para uma idéia geral, isso me ajudará muito na compreensão. obrigado.
 

Há uma questão fundamental.

Digamos que há duas aplicações, painéis, indicadores, em um único gráfico. Cada um deles deve desenhar em sua própria tela ou ambos em uma tela comum?

Há perguntas em ambos os casos.

 
o_O:

não apenas menos, mas nenhum (exceto o bitmap_label, que é onde tudo é desenhado).

Estou apenas curioso em saber como você implementa o manuseio de texto (etiqueta de texto, campo de entrada de texto). Uma pequena lista de problemas que você tem que resolver:

  • Trabalhando com alfabetos nacionais (Em fontes, por exemplo, o mesmo Times New Roman tem um esboço para quase todos os alfabetos desde o inglês até os grandes poderosos e alguns hindi).
  • Escala de texto: 6-8-10-12...72 pontos - o mesmo tamanho de fonte pode ser definido sem nenhum problema. O tipo vetorial é mais ou menos para o que ele foi criado.
  • Itálico, ousado, sublinhado - o que você vai criar para cada um desses tipos de fonte ou algoritmo de esboço?
  • Digitação/edição, controle do cursor - fazer tudo sob a forma de um desenho é uma tarefa infernal. Para ser honesto, não consigo nem imaginar como você vai implementá-lo.

E tudo isso sobre o pano de fundo dos controles já em funcionamento "etiqueta de texto" e "etiqueta de texto com edição de texto". Os únicos problemas são o limite de tamanho de 32 caracteres e a incapacidade de usar fontes integradas.

Você levará muito tempo para resolver todos esses problemas, mas na melhor das hipóteses resolverá 30% deles. Centenas de kilobytes de seu código estarão, na melhor das hipóteses, um pouco fora do padrão, mas terá suas próprias doenças, falhas e várias limitações desagradáveis. Você realmente precisa disso?

 
Vasiliy Sokolov:
Документация по MQL5: Графические объекты / TextOut
Документация по MQL5: Графические объекты / TextOut
  • www.mql5.com
Графические объекты / TextOut - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
o_O:

Não apenas menos, mas nenhum (exceto o bitmap_label, que é onde tudo é desenhado).

Não se esqueça também do modelo do evento. Ele não é projetado para lidar com eventos em tela. Tudo o que você terá são teclas em uma determinada área da tela + coordenadas do mouse. Sim, você pode sair desta escuridão com o OOP, mas a saída será difícil e muito longa.

 
Реter Konow:

Eu ainda não entendo o mecanismo. Se você puder explicar com mais detalhes, para uma idéia geral, isso me ajudaria muito na compreensão. obrigado.
execute o exemplo kanvas a partir do arquivo xo. zip https://www.mql5.com/ru/forum/92113#comment_2672543
 
Vasiliy Sokolov:

Eu só estou me perguntando como você implementa o texto

como já mostrado - vamos usar TextOut

Você vai matar muito tempo para resolver todos esses problemas

Se o MC não oferecer uma solução para estes problemas, tudo isto vai parar.

Ainda estou esperando o retorno deles em SR.

Além disso, não se esqueça do modelo do evento. Ele não foi projetado para lidar com eventos na tela.

Lembre-se, eu lhe mostrei o análogo de seu painel para negociação de ordens de rede... Bem, CHARTEVENY_MOUSE_MOVE não é usado lá, tudo é analisado por si só.

Acredite em mim, não há problema com eventos ou exibição do carro de entrada.

Agora a questão é apenas sobre eventos de teclado.

 
o_O:

Agora a questão resume-se apenas aos eventos do teclado.

Com o teclado, tudo fica mais ou menos claro. Há o evento de pressionar uma tecla e há o código para esta tecla. O que mais você quer?
 
o_O:

Pediremos ao RS um refinamento.

A propósito, se você me perguntar, isso facilitaria muito a vida em termos de um DND normal, introduzindo o evento OnMouseDown.
Razão: