GUI à l'initiative de la foule. Test bêta ouvert. - page 47

 
Реter Konow:

Bonne chance ! Je suivrai vos progrès.

Je ne prévois pas de suivre ce cours jusqu'au bout, juste les bases ...... Étant donné que nous partons de zéro et que le code sera excessivement commenté, je pense que nous allons commencer. Ici ?

Alexei Barbashin:

Sasha, croyez-moi, Peter n'en a pas besoin ;( Vous verrez très bientôt. :)

Eh bien, vous êtes au courant.

 
Алексей Барбашин:

Tout d'abord, je pense qu'il est préférable de développer des objets basés sur les objets de base de la bibliothèque standard, cela rendra les choses beaucoup plus faciles à l'avenir.

Oui, bien sûr, nous nous appuierons en partie sur..... même si tout n'est pas rose.

De tout cela, je retiens une approche correcte : chaque formulaire doit être créé entièrement sur un seul canevas. Par conséquent, lorsque vous vous déplacerez, vous serez un seul objet solide.

Et le système d'attachement des objets, ainsi que les abonnements aux événements, devraient être mieux utilisés par les développeurs, c'est-à-dire en utilisant la technologie MFC.

La technologie MFC - voilà comment)

Je ne m'en soucie pas vraiment, mais il peut être plus facile de tout faire en objets (logique) puis leur reflet graphique. Et un convas ou plusieurs n'est pas si important.

J'ai juste commencé par les coordonnées

C'est une idée grossière.

enum EX{};
enum EY{};

class CCoordPBase
   {
   bool flag;
   CCoordPBase *base;
   public:
 //  bool chek(CCoorPDdX &x) {return CheckPointer() }
   EX X_,W_;
   EY Y_,H_;
   CCoordPBase (){Init();}
   void Init() {X_=Y_=W_=H_=0; flag=0;}
   void Init(CCoordPBase &a) {base=GetPointer(a);};
   
   EX GetX() {return flag ? X_  +  ;}
   EY GetY() {return Y_;}
   EX GetW() {return W_;}
   EY GetH() {return H_;}
   operator
   bool MouseOn(CMouse &mouse)//px
      {
      return GetX()<=mouse.X && GetX()+GetW()>=mouse.X && GetY()<=mouse.Y && GetY()+GetH()>=mouse.Y;
      }
   };  

Pas encore terminé ... je viens de commencer vrobshche, si vous avez des idées d'interaction, s'il vous plaît ...

 
Les gars, avec tout le respect que je vous dois, vous devriez créer votre propre branche. Ce serait plus pratique là-bas. Ce n'est pas ce dont nous discutons ici.
 
Алексей Барбашин:

"mais peut-être que c'est plus facile de tout faire en objets" - c'est plus que logique

"Oui, bien sûr, nous nous appuierons sur une partie de celui-ci." - alors allons droit au but :

CObject est la classe de base de tous les objets de la bibliothèque des développeurs. Réalisé par analogie avec C++ et C#. L'objet de base (type) dans Sharp est Object.

Les coordonnées et les dimensions sont des propriétés du contrôle, de même que la couleur et l'épaisseur de la bordure, les rayons des arrondis, les icônes et le texte.

Nous devons d'abord définir le type de contrôle que nous supposerons être élémentaire, puis décrire les propriétés de base.

Bien sûr, certaines des propriétés que nous avons définies précédemment peuvent être laissées de côté pour les descendants, ce n'est pas un problème, mais il est préférable de faire de la propriété de base la plus polyvalente.

Pour éviter de chercher loin, voici un exemple de commande universelle simple :

Contient l'arrière-plan, la bordure, le rayon, l'icône et le texte.

Si vous avez besoin d'une étiquette, vous ne spécifiez pas le fond, la bordure et l'icône ; si vous avez besoin d'un panneau, le contenu n'est pas spécifié ; si vous avez besoin d'un bouton avec une image, seule l'icône est spécifiée ; si vous avez besoin d'un bouton avec une image, le fond, la bordure et l'image sont spécifiés.

Cette composition est donc tout à fait universelle pour la plupart des contrôles.

Allez, ! !!!!

et je pensais faire une interaction simple

où l'on mettra des positionnements comme à gauche de l'objet précédent en cas d'alignement d'une ligne ou d'une colonne.

Nous écrivons donc un contrôle universel
 
Реter Konow:
Les gars, avec tout le respect que je vous dois, vous devriez créer votre propre fil. Ce serait plus pratique là-bas. Ce n'est pas ce dont nous discutons ici.

ok.... Je continuais d'espérer que les modérateurs m'aideraient

 
Alexandr Andreev:

ok.... J'espérais que les modérateurs m'aideraient.

Bien sûr qu'ils le feront, si on se dispute le territoire ici.)) Ouvrez votre propre fil de discussion et développez-le. Je le lirai avec intérêt.))

 
Реter Konow:
Les gars, avec tout le respect que je vous dois, vous devriez créer votre propre fil. Ce serait plus pratique là-bas. Sinon, nous discutons d'autres choses ici.

Y a-t-il vraiment une discussion ?

Peter, tu n'es même pas prêt à accepter la vérité.

Tous ceux qui ont été confrontés à ton développement t'ont dit : Peter, c'est cool, mais modifie ici, change là..... Remarque : personne n'a dit que c'était mauvais. C'était purement votre perception !

Et quelle est la réponse ? Et Pierre répond : vous avez tort, j'ai ma propre voie, mes propres normes et ma propre vision des molécules...

À ce moment-là, la discussion a cessé et les gens sont partis.

C'est compréhensible : comment continuer à interagir avec quelqu'un qui fait quelque chose uniquement pour lui-même, donc à sa manière.

Vous prétendez que vous le faites pour "tout le monde", mais vous n'essayez même pas de respecter les normes de ce "tout le monde", si bien que "tout le monde" se retire de la discussion et des tests après votre première "prise de position".

 
Алексей Барбашин:

Y a-t-il vraiment une discussion ?

Peter, tu n'es même pas prêt à accepter la vérité.

....

J'ai besoin des utilisateurs dans le fil. Des traders qui testeront mon produit et l'utiliseront. Je n'ai pas l'intention de mener des discussions savantes ici. Vous pouvez découvrir qui a raison en privé.

Ici, nous testons le produit que la communauté offre gratuitement. Arrêt complet.

 
Алексей Барбашин:

Y a-t-il vraiment une discussion ?

Peter, tu n'es même pas prêt à accepter la vérité.

Tous ceux qui ont été confrontés à ton développement t'ont dit : Peter, c'est cool, mais modifie ici, change là..... Remarque : personne n'a dit que c'était mauvais. C'était purement votre perception !

Et quelle est la réponse ? Et Pierre répond : vous avez tort, j'ai ma propre voie, mes propres normes et ma propre vision des molécules...

À ce moment-là, la discussion s'arrêtait et les gens passaient à autre chose.

C'est compréhensible : comment continuer à interagir avec quelqu'un qui fait quelque chose uniquement pour lui-même, donc à sa manière.

Vous prétendez que vous le faites pour "tout le monde", mais vous n'essayez même pas de suivre les normes de ce "tout le monde", de sorte que "tout le monde" se retire de la discussion et des tests après votre première "prise de position".

https://www.mql5.com/ru/forum/334431

Создание графической библиотеки с нуля
Создание графической библиотеки с нуля
  • 2020.03.07
  • www.mql5.com
Общее обсуждение: Создание графической библиотеки с нуля
 
Alexandr Andreev:

https://www.mql5.com/ru/forum/334431

+

Raison: