Réaliser un projet de crowdsourcing sur Canvas - page 2

 
Zorro:
Sur le sujet de l'utilisation de kanvas comme interface utilisateur.

Je dirais que c'est une beauté.)

Je suis très satisfait de la vitesse. Tout est tout à fait adéquat en termes de temps de rendu et de contrôle.

 
Merci !

Cachettes pour GIF et PNG
Dossiers :
ZoGIF.mqh  2 kb
ZoPNG.mqh  2 kb
 

Ok.

Puisque vous êtes déjà un expert dans la pratique de la création de contrôles sur kanvas,

pourquoi ne pas décrire vos classes de base et votre modèle général d'événements ?

----

Nous pouvons commencer à partir de votre base, puis ajouter des contrôles supplémentaires.
- bouton
- champ de saisie
- glisseur
- liste déroulante (déjà dans vos archives)
- sélection du temps (déjà dans vos archives)


 
Les spéculations devraient être mises entre guillemets :)

En ce moment je suis très occupé avec le travail principal, dès que je suis libre je ferai le schéma complet, ce sera au plus tôt le 25.07.2016.

En termes généraux :

Objet de base CFrame - objet abstrait sur le canevas, possède x,y, largeur, hauteur et un ensemble de méthodes virtuelles pour le traitement des événements (OnMouse..., OnNotify, OnPaint), peut contenir d'autres objets CFrame.

CWindow est un descendant de CFrame, qui met en œuvre un canevas et est un objet graphique sur un graphique, reçoit et gère les événements externes (OnChartEvent), en les distribuant aux objets (enfants) qui résident sur lui.
Tous les objets de l'interface graphique sont créés à partir de CFrame, qui est complété par les méthodes nécessaires.

Le projet P&F Chart n'a pas de contrôleur d'événement global, il est nécessaire pour les applications avec 2 fenêtres ou plus (lire kanvas).
C'est lui qui doit distribuer les événements aux fenêtres et surveiller la capture d'une instance (clavier + souris) par les contrôles GUI.

 
Le problème avec le champ de saisie est qu'il n'y a pas de bonne idée pour utiliser ce qui est disponible.

À l'heure actuelle, il n'est possible de faire un véritable EDIT que si l'on dessine son propre clavier GUI, mais il serait difficile de prendre en charge les langues, et il est peu pratique de taper avec une souris...
 
Renat Fatkhullin:
À propos, dans le MetaEditor, vous pouvez lancer des projets, inviter d'autres participants, leur donner des droits et travailler ensemble sur le projet.

Voulez-vous dire le stockage MQL5?

Renat, pouvez-vous me dire plus en détail où lire sur ce mécanisme ?

J'utilise le MQL5 de Staorage depuis son lancement, mais je n'y ai pas trouvé l'option d'accès de groupe.

 
Cliquez avec le bouton droit de la souris sur le projet, sélectionnez "Ajouter des droits d'accès" dans le menu. J'ai utilisé cette méthode dans l'un des projets de ma sœur, c'est très pratique - tout est à portée de main...
 

OK.

le CFrame est clair.

---

J'ai remarqué que vous avez emprunté la voie où les blocs gui sont chacun représentés par leur propre bitmap.

un point important pour ceux qui lisent ceci et qui ont déjà commencé à y réfléchir :
Le travail ne doit être effectué que sur un seul bitmap, avec tous les éléments du gui rendus sur celui-ci. Avec l'ordre z en tête.
Dans ce cas, les possibilités de rendu seront plus nombreuses. (ombres, gradients, etc.).
Et le contrôle est simplifié (nous n'irons pas jusqu'au niveau des objets MT)

 
Zorro:
Le problème avec le champ de saisie est qu'il n'y a pas de bonne idée pour utiliser ce qui est disponible.

À l'heure actuelle, il n'est possible de faire un véritable EDIT que si l'on dessine son propre clavier GUI, mais il serait difficile de prendre en charge les langues, et il est peu pratique de taper avec une souris...
hmm, quel est le problème avec l'édition ?
 
Yuriy Zaytsev:

Voulez-vous dire le stockage MQL5?

Renat, pouvez-vous me dire plus en détail où lire sur ce mécanisme ?

J'utilise le MQL5 de Staorage depuis son lancement, mais je n'y ai pas trouvé l'option d'accès partagé.

Projets - MetaEditor
MetaEditor Projects permet aux programmeurs de développer à distance des applications en MQL4/MQL5. Des projets sont mis en œuvre spécifiquement à cette fin. Les projets sont mis en œuvre par le biais du stockage MQL5. Par conséquent, un utilisateur doit avoir un compte valide sur MQL5.community, ainsi que sur MQL5 Storage. Le travail avec des projets présente tous les avantages du stockage MQL5 : stockage sûr des codes sources. En cas de panne du disque dur, la copie locale des codes peut être rapidement récupérée à partir du stockage. Accès au stockage depuis n'importe quel ordinateur. Vous pouvez vous connecter à MetaEditor en utilisant votre compte MQL5.community et accéder au projet depuis n'importe quel PC. L'accès à chaque projet est défini uniquement par un auteur de projet (un utilisateur qui l'a créé). Personne ne peut accéder à un projet sans l'autorisation de l'auteur. Le dossier Projets dans MQL4 ou MQL5 est destiné aux projets partagés. Dans le Navigateur, c'est...

Aide MetaTrader 5 | 2015.12.02 10:22

Et en général, vous devez tester le travail conjoint avec les projets - je pense qu'il y aura des questions.