Galerie d'interfaces utilisateur écrites en MQL - page 62

 

J'ai trouvé un problème fatal pour moi, à savoir que la saisie du texte que j'utilise est affichée sur l'interface graphique dans une orientation horizontale ...... avec une rotation de 90 degrés, comme c'est le cas normalement :

你好


 
hini #:

J'ai suivi le code et l'ai testé, et j'ai trouvé une chose inattendue qui ne permet pas la découverte automatique lorsque la longueur de la chaîne aléatoire est trop longue.


Oui, bien sûr, merci pour le message. Je vais y jeter un coup d'œil.

En général, le texte est toujours raccourci par défaut. Cela ne s'est jamais produit auparavant. Cela peut être dû à l'ajout d'une nouvelle fonctionnalité.

 
hini #:

J'ai découvert un problème fatal pour moi, à savoir que le texte tapé est affiché sur l'interface graphique dans l'orientation horizontale ...... avec une rotation de 90 degrés, comme c'est normalement le cas :


Je ne sais pas. Cela a peut-être à voir avec les paramètres linguistiques. C'est probablement ainsi que fonctionne la fonction standard TextOut() de MQL. Vous devriez poser la question aux développeurs. Mon code ne transforme absolument pas le texte. Cette option n'existe pas.

 
hini #:

J'ai suivi le code et l'ai testé, et j'ai trouvé une chose inattendue qui ne permet pas la découverte automatique lorsque la longueur de la chaîne aléatoire est trop longue.

Par ailleurs, si vous cliquez sur la zone de saisie après avoir saisi du texte par programme et que vous cliquez ensuite sur un autre espace de la fenêtre, le texte de la zone se réduit. Il est évident que cela est dû à la nouvelle fonctionnalité, puisque d'autres textes sont raccourcis au stade de la construction de la fenêtre. Dans ce cas, l'indicateur de raccourcissement du texte est déjà activé et la fonction ne raccourcit donc pas le texte. L'erreur est évidente.

 
hini #:

J'ai découvert un problème fatal pour moi, à savoir que le texte tapé est affiché sur l'interface graphique dans l'orientation horizontale ...... avec une rotation de 90 degrés, comme c'est normalement le cas :


Je vais vérifier la valeur du paramètre TextSetFont() qui est responsable de l'angle du texte. Mais d'un autre côté, tous les textes sont rendus en orientation horizontale.... Je ne peux pas encore vous donner une réponse définitive. Peut-être y verrez-vous plus clair par la suite.

 
Реter Konow #:

Je vais vérifier la valeur du paramètre TextSetFont(), qui est responsable de l'ajustement de l'angle du texte. Mais d'un autre côté, tout le texte est rendu horizontalement ..... Je ne peux pas vous donner une réponse claire pour l'instant. Peut-être que ce sera plus clair plus tard.

Cela doit être lié à la langue. Le chinois, le japonais et le coréen ont tous la possibilité de se produire.
 
hini #:
Cela doit être lié à la langue : en chinois, en japonais et en coréen, c'est possible.

C'est tout à fait possible. Tant pis si cela ne peut pas être corrigé.

 
7. Définir et renvoyer les valeurs des paramètres et des propriétés d'éléments de différents types.
8. Renvoyer les valeurs des paramètres d'un élément, les modifier et les transmettre à un autre élément.

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

Résumons les deux sujets - définition, retour et transmission des valeurs des paramètres et des propriétés :

1) Attribution de valeurs à un paramètre d'un élément :

Dans la plupart des éléments, donner une valeur à un paramètre signifie afficher la valeur sous forme numérique ou textuelle sur la surface du contrôle.

L'article précédent a montré une méthode pour définir par programme du texte dans un champ de saisie :

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



Voyons comment cette approche fonctionne avec d'autres éléments :

1. Un champ de saisie avec des boutons :

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

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


2.

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


Si vous entrez une valeur en dehors de la plage du curseur, le journal recevra un message avertissant que la plage numérique a été dépassée et que la nouvelle valeur ne sera pas définie !

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


3.

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

* Cette option n'a pas été entièrement développée. L'élément sous-jacent reste dans le même état et le champ accepte n'importe quel texte. Elle sera corrigée dans les prochaines versions.

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

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) Envoyons maintenant la valeur du champ de saisie vers la cellule du tableau :

  • Reprendre la valeur du champ de saisie à l'aide de boutons :

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

et l'envoyer dans la cellule du tableau :

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


La valeur est acceptée par le destinataire !

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

Envoyons maintenant cette valeur à un champ de texte dans une autre fenêtre.

w7_s_p4_EDIT_Comment_2((string)Spin_edit_value);

La valeur a été envoyée avec succès !

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

...

Nous continuerons à partir de ce point demain. Le sujet n'est pas encore épuisé.