Galleria di interfacce utente scritte in MQL - pagina 62

 

Ho riscontrato un problema fatale per me, ovvero che la digitazione del testo che sto utilizzando viene visualizzata sulla GUI con orientamento orizzontale ...... ruotata di 90 gradi, come avviene normalmente:

你好


 
hini #:

Ho seguito il codice e l'ho testato, trovando una cosa inaspettata che non si scopre automaticamente quando la lunghezza della stringa casuale è troppo lunga


Sì, certo, grazie per il messaggio. Ci darò un'occhiata.

In genere per impostazione predefinita il testo viene sempre accorciato. Questo non è mai successo prima. Potrebbe essere dovuto all'aggiunta di una nuova funzionalità.

 
hini #:

Ho scoperto un problema fatale per me, ovvero che il testo digitato viene visualizzato sulla GUI con orientamento orizzontale ...... ruotato di 90 gradi, come avviene normalmente:


Non lo so. Forse ha a che fare con le impostazioni della lingua. Probabilmente è così che funziona la funzione TextOut() standard di MQL. Dovreste chiedere agli sviluppatori. Il mio codice non trasforma assolutamente il testo. Non esiste un'opzione del genere.

 
hini #:

Ho seguito il codice e l'ho testato, trovando una cosa inaspettata che non si scopre automaticamente quando la lunghezza della stringa casuale è troppo lunga

A proposito, se si fa clic sulla casella di input dopo aver inserito il testo in modo programmatico e poi si fa clic su un altro spazio della finestra, il testo nella casella si riduce. Ovviamente, ciò è dovuto alla nuova funzionalità, in quanto gli altri testi vengono accorciati nella fase di costruzione della finestra. In questo caso, il flag di accorciamento del testo è già impostato e quindi la funzione non accorcia il testo. Il difetto è evidente.

 
hini #:

Ho scoperto un problema fatale per me, ovvero che il testo digitato viene visualizzato sulla GUI con orientamento orizzontale ...... ruotato di 90 gradi, come avviene normalmente:


Controllerò il valore del parametro TextSetFont() che è responsabile dell'angolo del testo. Ma d'altra parte, tutti i testi sono resi in orientamento orizzontale.... Non posso ancora dare una risposta definitiva. Forse sarà più chiaro in seguito.

 
Реter Konow #:

Verificherò il valore del parametro TextSetFont(), che è responsabile della regolazione dell'angolo del testo. Ma d'altra parte, tutto il testo è reso in orizzontale ..... Non posso darvi una risposta chiara in questo momento. Forse sarà più chiara in seguito.

Dovrebbe avere a che fare con la lingua, il cinese, il giapponese e il coreano hanno tutti la possibilità che ciò accada.
 
hini #:
Deve essere legato alla lingua: in cinese, giapponese e coreano è possibile.

È abbastanza possibile. Peccato che non si possa risolvere.

 
7. Impostare e restituire i valori di parametri e proprietà di elementi di tipo diverso.
8. Restituire i valori dei parametri di un elemento, modificarli e inoltrarli a un altro elemento.

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

Riassumiamo entrambi gli argomenti: impostazione, restituzione e inoltro dei valori dei parametri e delle proprietà:

1. Impostazione dei valori dei parametri degli elementi:

Nella maggior parte degli elementi, impostare un valore a un parametro significa visualizzare il valore in forma numerica o testuale sulla superficie del controllo.

Il post precedente mostrava un metodo per impostare programmaticamente il testo in un campo di input:

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



Vediamo come funziona questo approccio con altri elementi:

1. Un campo di input con pulsanti:

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

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


2.

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


Se si inserisce un valore al di fuori dell'intervallo del cursore, il log riceverà un messaggio che avverte che l'intervallo numerico è stato superato e il nuovo valore non verrà impostato!

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


3.

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

* Questa opzione non è stata completamente elaborata. L'elemento sottostante rimane nello stesso stato e il campo accetta qualsiasi testo. Verrà sistemata nelle prossime versioni.

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

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. Ora inviamo il valore dal campo di input alla cella della tabella:

  • Prelevare il valore dal campo di input con i pulsanti:

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

E inviarlo alla cella della tabella:

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


Il valore è stato accettato con successo dal destinatario!

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

Ora inviamo questo valore a un campo di testo in un'altra finestra.

w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);

Il valore è stato inviato con successo!

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

...

Continueremo da questo punto domani. L'argomento non è ancora esaurito.

 
È davvero comodo.
 
La conversione forzata del tipo qui, può essere messa all'interno della funzione, in modo che l'utente non debba scrivere (stringa) al di fuori della funzione
w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);