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

 

Un nouvel article Contrôles graphiques personnalisés. Partie 1 : Création d'un contrôle simple a été publié :

Cet article couvre les principes généraux de développement des contrôles graphiques. Nous allons préparer des outils pour un travail rapide et pratique avec des objets graphiques, analyser un exemple de création d'un champ simple de saisie de texte ou de données numériques ainsi que les manières de l'utiliser.

Il y a au total plus de quarante objets graphiques dans le terminal client MetaTrader 5. Tous ces objets peuvent être utilisés séparément, mais le plus souvent ils sont utilisés dans une chaîne d'objets interconnectés. Par exemple, lorsqu'un champ d'édition (OBJ_EDIT) est utilisé, une étiquette bitmap (OBJ_LABEL) est utilisée avec lui très souvent pour indiquer la fonction du champ d'édition.

Lorsque vous utilisez un champ d'édition, vous devez souvent vérifier l'exactitude des données saisies par un utilisateur et offrir la possibilité d'utiliser à la fois un point et une virgule comme séparateur décimal.

Lorsque vous utilisez une sortie de données par programmation, vous devez formater les données. Par exemple, vous devez supprimer les zéros inutiles. Ainsi, il serait plus facile d'avoir un seul objet qui inclut le champ d'édition, l'étiquette bitmap et quelques autres fonctionnalités opérationnelles.

Actuellement, il existe un certain ensemble de contrôles graphiques dans le monde de la programmation, qui est utilisé dans presque toutes les applications : un formulaire (la base d'une interface d'application, où se trouvent tous les éléments de contrôle), un cadre (il permet le regroupement et la séparation des ensembles d'éléments qui ont un objectif fonctionnel), un bouton, un champ d'édition, une étiquette, une case à cocher, des boutons radio, des barres de défilement verticales et horizontales, une liste, une liste déroulante, une ligne de menu, un onglet de menu (fig . 3). 


Auteur : Dmitry Fedoseev