Galeria de UIs escritas em MQL - página 62

 

Descobri um problema fatal para mim, que é o fato de que a digitação do texto que estou usando é exibida na GUI em uma orientação horizontal ...... girada 90 graus, como é normal:

你好


 
hini #:

Segui o código e o testei, mas encontrei uma coisa inesperada que não é descoberta automaticamente quando o comprimento da cadeia aleatória é muito longo


Sim, claro, obrigado pela mensagem. Vou dar uma olhada nisso.

Geralmente, por padrão, o texto é sempre encurtado. Isso nunca aconteceu antes. Pode ser devido à adição de uma nova funcionalidade.

 
hini #:

Descobri um problema fatal para mim, que é o fato de o texto digitado ser exibido na GUI na orientação horizontal ...... girado 90 graus, como normalmente acontece:


Não sei. Talvez isso tenha a ver com as configurações de idioma. Provavelmente é assim que a função TextOut() padrão dentro do MQL funciona. Você deve perguntar aos desenvolvedores. Meu código definitivamente não transforma o texto. Essa opção não existe.

 
hini #:

Segui o código e o testei, mas encontrei uma coisa inesperada que não é descoberta automaticamente quando o comprimento da cadeia aleatória é muito longo

A propósito, se você clicar na caixa de entrada depois de inserir o texto programaticamente e depois clicar em outro espaço da janela, o texto na caixa diminuirá. Obviamente, isso se deve à nova funcionalidade, pois outros textos são encurtados no estágio de construção da janela. Nesse caso, o sinalizador de encurtamento de texto já está definido e, portanto, a função não encurta o texto. A falha é clara.

 
hini #:

Descobri um problema fatal para mim, que é o fato de o texto digitado ser exibido na GUI na orientação horizontal ...... girado 90 graus, como normalmente acontece:


Vou verificar o valor que entra no parâmetro TextSetFont(), que é responsável pelo ângulo do texto. Mas, por outro lado, todos os textos são renderizados na orientação horizontal.... Ainda não posso lhe dar uma resposta definitiva. Talvez isso fique mais claro mais tarde.

 
Реter Konow #:

Verificarei o valor do parâmetro de entrada TextSetFont(), que é responsável por ajustar o ângulo do texto. Mas, por outro lado, todo o texto é renderizado horizontalmente ..... Não posso lhe dar uma resposta clara neste momento. Talvez ela fique mais clara mais tarde.

Deve ter algo a ver com o idioma: chinês, japonês e coreano têm a possibilidade de isso acontecer
 
hini #:
Deve estar relacionado ao idioma: em chinês, japonês e coreano, isso é possível.

É bem possível. É uma pena que não possa ser corrigido.

 
7. Definir e retornar valores de parâmetros e propriedades de elementos de diferentes tipos.
8. Retornar valores de parâmetros de um elemento, modificar e encaminhar para outro elemento.

//----------------------------------------------------------------------------------------------------------

Vamos resumir os dois tópicos: definição, retorno e encaminhamento de valores de parâmetros e propriedades:

1. Definição de valores para um parâmetro de elementos:

Na maioria dos elementos, definir um valor para um parâmetro significa exibir o valor em forma numérica ou de texto na superfície do controle.

A postagem anterior mostrou um método de definição programática de texto em um campo de entrada:

w7_s_p4_EDIT_Comment_1("Some random text");//Тип посылаемого в функцию значения string.



Vamos ver como essa abordagem funciona com outros elementos:

1. Um campo de entrada com botões:

w6_d_p5_S_EDIT_Spin_the_value(423.11); //Тип посылаемого в функцию значения double.

//-------------------------------------------------------------------------------------------------------------------------------


2.

w6_i_p3_H_SLIDER_Roll_the_value(33); //Тип посылаемого значения int, потому что тип функции int. В данном случае, потому что у слайдера диапазон в целых числах.


Se você inserir um valor fora do intervalo do controle deslizante, o registro receberá uma mensagem avisando que o intervalo numérico foi excedido e o novo valor não será definido!

//-------------------------------------------------------------------------------------------------------------------------------


3.

w6_s_p6_D_LIST_D_LIST_1("L_ITEM 5"); //Тип посылаемого значения string. Устанавливаем другую опцию элемента выпадающий список (D_LIST). 

* Essa opção ainda não foi totalmente desenvolvida. O item subjacente permanece no mesmo estado e o campo aceita qualquer texto. Ela será corrigida nas próximas versões.

//-------------------------------------------------------------------------------------------------------------------------------

4.

   w8_s_p4_CELL_Account_name__Value("MyRealAccount"); //Тип посылаемого значения string. Посылаем текст в ячейку таблицы. 

   w8_s_p4_CELL_Account_number__Value("A001234647843B1");

   w8_s_p4_CELL_Account_server__Value("MyServer");

   w8_s_p4_CELL_Account_currency__Value("US Dollar");

   w8_s_p4_CELL_Leverage__Value("1:1");

   w8_s_p4_CELL_Account_balance__Value("1234567.23 $");


//------------------------------------------------------------------------------------------------------------------------------


2) Agora vamos enviar o valor do campo de entrada para a célula da tabela:

  • Obtendo o valor do campo de entrada com botões:

   double Spin_edit_value = w6_d_p5_S_EDIT_Spin_the_value();//Делаем возврат значения параметра (тип double).

E enviá-lo para a célula da tabela:

   w8_s_p4_CELL_Account_profit__Value((string)Spin_edit_value);//При пересылке значение double приводим к типу string. Функция ячейки имеет тип string.


O valor foi aceito com sucesso pelo destinatário!

//-------------------------------------------------------------------------------------------------------------------------------

Agora, vamos enviar esse valor para um campo de texto em outra janela.

w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);

O valor foi enviado com sucesso!

//-------------------------------------------------------------------------------------------------------------------------------

...

Continuaremos a partir deste ponto amanhã. O tópico ainda não foi esgotado.

 
É muito conveniente.
 
A conversão de tipo forçada aqui pode ser colocada dentro da função, para que o usuário não precise escrever (string) fora da função
w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);