Galería de interfaces de usuario escritas en MQL - página 62

 

He encontrado un problema fatal para mí, que es que al escribir el texto que estoy utilizando se muestra en la interfaz gráfica de usuario en una orientación horizontal ...... girado 90 grados, como es normal:

你好


 
hini #:

He seguido el código y lo he probado, y he encontrado un imprevisto que no se autodescubre cuando la longitud de la cadena aleatoria es demasiado larga


Sí, claro, gracias por el mensaje. Le echaré un vistazo.

Generalmente por defecto el texto siempre se acorta. Esto no ha ocurrido nunca. Puede deberse a la incorporación de una nueva funcionalidad.

 
hini #:

He descubierto un problema fatal para mí, que es que el texto escrito se muestra en la GUI en la orientación horizontal ...... girado 90 grados, como es normalmente:


No sé. Tal vez tenga que ver con la configuración del idioma. Probablemente así es como funciona la función estándar TextOut() dentro de MQL. Usted debe preguntar a los desarrolladores. Mi código definitivamente no gira el texto. No existe tal opción.

 
hini #:

He seguido el código y lo he probado, y he encontrado un imprevisto que no se autodescubre cuando la longitud de la cadena aleatoria es demasiado larga

Por cierto, si haces clic en el cuadro de entrada después de introducir texto mediante programación y luego haces clic en otro espacio de la ventana, el texto del cuadro se acortará. Obviamente, esto se debe a la nueva funcionalidad, ya que otros textos se acortan en la fase de construcción de la ventana. En este caso, el indicador de acortamiento de texto ya está activado y, por tanto, la función no acorta el texto. El fallo está claro.

 
hini #:

He descubierto un problema fatal para mí, que es que el texto escrito se muestra en la GUI en la orientación horizontal ...... girado 90 grados, como es normalmente:


Voy a comprobar el valor que entra en el parámetro TextSetFont() que es el responsable del ángulo del texto. Pero por otro lado, todos los textos se renderizan en orientación horizontal.... Todavía no puedo darte una respuesta definitiva. Quizás se aclare más adelante.

 
Реter Konow #:

Voy a comprobar el valor del parámetro de entrada TextSetFont(), que se encarga de ajustar el ángulo del texto. Pero por otro lado, todo el texto se renderiza horizontalmente ..... Ahora mismo no puedo darte una respuesta clara. Tal vez sea más claro más tarde.

Debe tener algo que ver con el idioma, chino, japonés y coreano todos tienen la posibilidad de que esto suceda
 
hini #:
Debe estar relacionado con el idioma: en chino, japonés y coreano es posible.

Es muy posible. Lástima si no se puede solucionar.

 
7. Establecer y devolver valores de parámetros y propiedades de elementos de diferentes tipos.
8. Devolver valores de parámetros de un elemento, modificarlos y reenviarlos a otro elemento.

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

Vamos a resumir ambos temas - Establecer, devolver y reenviar valores de parámetros y propiedades:

1.Establecer valores a un parámetro de elementos:

En la mayoría de los elementos, establecer un valor a un parámetro significa mostrar el valor en forma numérica o de texto en la superficie del control.

El post anterior mostraba un método para establecer mediante programación texto en un campo de entrada:

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



Veamos cómo funciona este método con otros elementos:

1. Un campo de entrada con botones:

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

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


2.

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


Si introduce un valor fuera del rango del control deslizante, el registro recibirá un mensaje advirtiendo de que se ha superado el rango numérico y no se fijará el nuevo valor.

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


3.

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

* Esta opción no ha sido completamente elaborada. El elemento subyacente permanece en el mismo estado y el campo acepta cualquier texto. Se arreglará en las próximas versiones.

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

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. Ahora enviemos el valor del campo de entrada a la celda de la tabla:

  • Tomando el valor del campo de entrada con botones:

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

Y enviarlo a la celda de la tabla:

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


El destinatario acepta el valor.

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

Ahora, enviemos este valor a un campo de texto en otra ventana.

w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);

El valor se ha enviado correctamente.

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

...

Mañana continuaremos desde este punto. El tema aún no se ha agotado.

 
Es muy práctico.
 
La conversión de tipo forzado aquí, se puede poner dentro de la función, de modo que el usuario no necesita escribir (cadena) fuera de la
w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);