Discussion de l'article "Contrôles graphiques personnalisés. Partie 1 : Création d'un contrôle simple" - page 2

 
Urain:

Il y a déjà suffisamment d'exemples de création de codes simples, mais il n'y a pas d'exemples de création d'une hiérarchie de classes réussie ou au moins d'un schéma facile à mettre en œuvre d'un produit universel et facilement transformable. Même les classes standard de MQ compliquent souvent l'écriture des programmes en prévoyant des possibilités à l'avance.

C'est ce que je veux dire.

Il faut d'abord une démonstration du système dans son ensemble. L'ARCHITECTURE d'abord. Et montrer la place qu'occupe chaque brique - un contrôleur particulier - dans cette architecture.

Puis passer à la démonstration du fonctionnement de ces contrôles (désolé pour le MFC, c'est juste une bonne image).



 
sergeev:

C'est très bien. C'est très bien.

Si vous parlez des fonctions de haut niveau dans la deuxième partie, les gens commenceront à utiliser les composants de l'article plus rapidement.
Je commencerais toujours par les formulaires + les boutons (+ les boîtes de saisie) et ne parlerais que dans la troisième partie des composants de contrôle spécifiques - listes, menus, etc.

Après tout, il s'agit d'enseigner comment écrire de tels contrôles. Mais tant qu'il n'y aura pas de formulaire où les insérer, l'article ne donnera pas un effet aussi spectaculaire et nécessaire.
En outre, dès que vous aurez donné Form+Button (je veux dire 3 sortes - radio, push, check) + EditBox dès le deuxième article, l'utilisateur verra les classes comme un tout et sera capable de créer ses propres contrôles de manière indépendante.


Pour interagir avec le formulaire, le contrôle devrait avoir quatre méthodes Init(...), Show(X,Y), Hide(), Event(), tout sera exactement comme maintenant, lors de la création d'un contrôle sur le graphique. Vous pouvez donc déjà écrire vos propres contrôleurs.

Néanmoins, je vais m'en tenir à mon plan, dans la troisième partie il y aura un formulaire avec tous les contrôles dessus - il sera plus pratique à utiliser comme un exemple ou un modèle prêt - il sera nécessaire d'enlever quelque chose, de doubler quelque chose et tout, ce sera plus un produit semi-fini prêt à l'emploi.

 
Integer:

Je vais m'en tenir à mon plan après tout, dans la troisième partie il y aura un formulaire avec tous les contrôles dessus.

Ok, nous allons attendre :)
 

Le sujet est pertinent... merci de l'avoir traité....

Cependant, après avoir lu l'article et les commentaires, j'ai pensé que l'essence de l'algorithme était un peu difficile à mettre en œuvre.

Je me suis dit : l'algorithme suivant ne serait-il pas plus simple et plus universel ?

Un panneau avec des boutons de contrôle peut être implémenté dans n'importe quel langage avec un éditeur puissant (par exemple Visual Studio ).

et il (le programme d'implémentation du panneau de contrôle avec des boutons et d'autres fonctionnalités) fonctionne de manière autonome et indépendante de MT5.

Ces résultats sont saisis dans un fichier que le MT5 lit périodiquement (il est également judicieux de mettre en place une interruption).

Ainsi, le processus de programmation sera simplifié et il y aura une universalité (la possibilité de travailler avec n'importe quel programme et aussi avec MT4).

Par conséquent, le principal problème sera l'arrimage du fichier de paramètres résultant avec le corps du programme.

C'est dans ce sens que j'aimerais voir l'évolution de MT5 et non dans l'expansion banale des fonctions....

Et l'échange via la RAM ne ferait pas de mal non plus - il est encore 1000 fois plus rapide, probablement.

On peut aussi envisager la connexion via le Web... Ce serait assez intéressant.

Qu'en pensez-vous ?

 
Je n'ai pas compris le 4ème principe. Pourriez-vous me donner un exemple ?
 

Je ne comprends pas le quatrième principe. Pouvez-vous me donner un exemple ?

 
LeoAndriolo:

Je ne comprends pas le quatrième principe. Pouvez-vous me donner un exemple ?

Bonjour Leo, lorsque vous faites référence au quatrième principe, à quoi faites-vous référence exactement ? Je comprends que le thème 4 de cet article concerne les "Pièces à contrôler". Pourriez-vous préciser un peu plus votre question ?
 
Malacarne:
Bonjour Leo, lorsque vous faites référence au quatrième principe, à quoi faites-vous référence exactement ? Je comprends que le thème 4 de cet article concerne les "Pièces à contrôler". Pourriez-vous préciser votre question ?
1.1.4
 

Je voudrais créer un objet graphique personnalisé qui est une combinaison de rectangles et de boîtes et de quelques éléments d'information. J'utiliserai souvent cet objet et j'aimerais qu'il soit facilement accessible. Est-il possible d'ajouter des objets graphiques personnalisés dans la barre d'outils de MT5 ? Si ce n'est pas le cas, pourriez-vous me donner d'autres suggestions ?

 

Étrange...

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   ObjectCreate(m_id,m_name,OBJ_VLINE,aSubWindow,0,0);
   Attach(aName,aChartID);
  }

Ce n'est pas comme ça que c'est censé être ?

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   Attach(aName,aChartID);
   ObjectCreate(m_id,m_name,OBJ_VLINE,aSubWindow,0,0);
  }

Ou comme ça.

Для примера, один метод создания графического объекта вертикальная линия (OBJ_VLINE):

void CreateVLine(string aName,int aSubWindow=0,long aChartID=0)
  {
   ObjectCreate(aChartID,aName,OBJ_VLINE,aSubWindow,0,0);
   Attach(aName,aChartID);
  }