- Types des Evénements du Graphique
- Périodes du Graphique
- Propriétés du Graphique
- Constantes de Positionnement
- Représentation du Graphique
- Exemples d'Utilisation du Graphique
Types des Evènements Graphiques
11 types d'évènements peuvent être traités avec la fonction prédéfinie OnChartEvent(). Pour des évènements personnalisés, 65535 identificateurs sont fournis dans l'intervalle CHARTEVENT_CUSTOM à CHARTEVENT_CUSTOM_LAST inclusive. Pour générer un évènement personnalisé, il faut appeler la fonction EventChartCustom().
ENUM_CHART_EVENT
Identifiant |
Description |
|---|---|
CHARTEVENT_KEYUP |
Relâchement d'une touche |
CHARTEVENT_KEYDOWN |
Touches |
CHARTEVENT_MOUSE_MOVE |
Mouvement et clics de la souris (si CHART_EVENT_MOUSE_MOVE=true est défini pour le graphique) |
CHARTEVENT_MOUSE_WHEEL |
Pressing or scrolling the mouse wheel (if CHART_EVENT_MOUSE_WHEEL=True for the chart) |
CHARTEVENT_OBJECT_CREATE |
Objet graphique créé (si CHART_EVENT_OBJECT_CREATE=true est défini pour le graphique) |
CHARTEVENT_OBJECT_CHANGE |
Changement d'une propriété d'un objet graphique via la boîte de dialogue des propriétés |
CHARTEVENT_OBJECT_DELETE |
Objet graphique effacé (si CHART_EVENT_OBJECT_DELETE=true est défini pour le graphique) |
CHARTEVENT_CLICK |
Clic sur un graphique |
CHARTEVENT_OBJECT_CLICK |
Clic sur un objet graphique |
CHARTEVENT_OBJECT_DRAG |
Drag and drop d'un objet graphique |
CHARTEVENT_OBJECT_ENDEDIT |
Fin d'édition du texte dans l'objet graphique Champ d'Edition |
CHARTEVENT_CHART_CHANGE |
Changement de la taille du graphique ou modification des propriétés du graphique via la boîte de dialogue des propriétés |
CHARTEVENT_CUSTOM |
Numéro initial d'un évènement dans l'intervalle des évènements personnalisés |
CHARTEVENT_CUSTOM_LAST |
Le numéro final d'un évènement dans l'intervalle des évènements personnalisés |
Evènement CHARTEVENT_KEYUP
L'évènement CHARTEVENT_KEYUP se produit lorsqu'un utilisateur relâche une touche du clavier alors que le focus est placé sur la fenêtre du graphique. Cet évènement complète l'évènement CHARTEVENT_KEYDOWN existant, qui est généré lorsqu'une touche du clavier est enfoncée. L'utilisation des deux événements nous permet de déterminer avec précision quand les touches sont enfoncées et relâchées, ce qui est utile lors de la création d'interfaces utilisateur et d'outils avec des contrôles interactifs..
void OnChartEvent(const int id,
|
lparam contient le code la touche (KeyCode), similaire à l'évènement CHARTEVENT_KEYDOWN. Utiliser la fonction TranslateKey() pour obtenir la représentation textuelle de la touche.
Gestion des touches mortes
La gestion des touches dites "mortes" est supportée. Ce sont des touches qui ne permettent pas de saisir immédiatement un caractère, mais qui modifient l'apparence du prochain caractère saisi. Par exemple, en grec, la touche ; est utilisée pour mettre un accent sur les voyelles (ά, έ, ύ, etc.).
Ces touches peuvent maintenant être suivies avec la fonction TranslateKey() dans les fonctions CHARTEVENT_KEYDOWN et CHARTEVENT_KEYUP. Cela permet une détection correcte de la pression et du relâchement de combinaisons de touches complexes dans les configurations multilingues.
void OnChartEvent(const int id,
|
La gestion des touches mortes est utile lors de l'implémentation de champs de texte personnalisés, de systèmes de raccourcis clavier et d'interfaces qui répondent aux dispositions de clavier internationales..
Entrées de la fonction OnChartEvent
Pour chaque type d'évènement, les paramètres d'entrée de la fonction OnChartEvent() ont des valeurs définies requises pour le traitement de cet évènement. Les évènements et les valeurs passés via ces paramètres sont listés dans le tableau ci-dessous.
Evènement |
Valeur du paramètre id |
Valeur du paramètre lparam |
Valeur du paramètre dparam |
Valeur du paramètre sparam |
|---|---|---|---|---|
Événement de libération d'une touche |
CHARTEVENT_KEYUP |
Code de la touche relâchée |
Le nombre de répétitions d'événements est toujours de 1 |
Une valeur de textuelle du masque de bits décrivant l'état des touches de modification.. Voir le message WM_KEYUP |
Evènement d'appui sur une touche |
CHARTEVENT_KEYDOWN |
Code de la touche enfoncée |
Le nombre de répétitions de l'événement tant que la touche reste enfoncée |
Une valeur de textuelle du masque de bits décrivant l'état des touches de modification.. Voir le WM_KEYDOWN message |
Evènements souris (si CHART_EVENT_MOUSE_MOVE=true est défini pour le graphique) |
CHARTEVENT_MOUSE_MOVE |
la coordonnée X |
la coordonnée Y |
La valeur de type string du masque de bits décrivant le statut des boutons de la souris |
Mouse wheel event (if CHART_EVENT_MOUSE_WHEEL=true for the chart) |
CHARTEVENT_MOUSE_WHEEL |
Flags of states of keys and mouse buttons, the X and Y coordinates of the mouse pointer. See description in the example below |
The Delta value of the mouse wheel scroll |
|
Evènement de création d'un objet graphique (si CHART_EVENT_OBJECT_CREATE=true est défini pour le graphique) |
CHARTEVENT_OBJECT_CREATE |
|
|
Nom de l'objet graphique créé |
Evènement de changement de propriété d'un objet via la boîte de dialogue des propriétés |
CHARTEVENT_OBJECT_CHANGE |
|
|
nom de l'objet graphique modifié |
Evènement de suppression d'un objet graphique (si CHART_EVENT_OBJECT_DELETE=true est défini pour le graphique) |
CHARTEVENT_OBJECT_DELETE |
|
|
Nom de l'objet graphique supprimé |
Evènement de clic de la souris sur le graphique |
CHARTEVENT_CLICK |
la coordonnée X |
la coordonnée Y |
|
Evènement de clic de la souris sur un objet graphique appartenant au graphique |
CHARTEVENT_OBJECT_CLICK |
la coordonnée X |
la coordonnée Y |
Nom de l'objet graphique sur lequel l'évènement s'est produit |
Evènement de déplacement d'un objet graphique avec la souris |
CHARTEVENT_OBJECT_DRAG |
|
|
Nom de l'objet graphique déplacé |
Evènement de fin d'édition du texte dans la zone de saisie d'un objet graphique Champ d'Edition |
CHARTEVENT_OBJECT_ENDEDIT |
|
|
Nom de l'objet graphique Champ d'Edition dans lequel l'édition du texte est terminée |
Evènement de changement de la taille du graphique ou modification des propriétés du graphique via la boîte de dialogue des Propriétés |
CHARTEVENT_CHART_CHANGE |
|
|
|
Identificateur de l'évènement utilisateur sous le numéro N |
CHARTEVENT_CUSTOM+N |
Valeur définie par la fonction EventChartCustom() |
Valeur définie par la fonction EventChartCustom() |
Valeur définie par la fonction EventChartCustom() |
Exemple :
#define KEY_NUMPAD_5 12
|
Pour l'évènement CHARTEVENT_MOUSE_MOVE le paramètre sparam de type string contient des informations sur l'état des touches du clavier et des boutons de la souris:
Bit |
Description |
|---|---|
1 |
Etat du bouton gauche de la souris |
2 |
Etat du bouton droit de la souris |
3 |
Etat de la touche SHIFT |
4 |
Etat de la touche CTRL |
5 |
Etat du bouton du milieu de la souris |
6 |
Etat du premier bouton supplémentaire de la souris |
7 |
Etat du deuxième bouton supplémentaire de la souris |
Exemple :
//+----------------------------------------------------------------------------------------------------+
|
For the CHARTEVENT_MOUSE_WHEEL event, parameters lparam and dparam contain information about the states of the Ctrl and Shift keys, of mouse buttons, cursor coordinates and the mouse wheel scroll value. For a better understanding, run this Expert Advisor on a chart and scroll the mouse wheel, while pressing different buttons and holding down the keys described in the code.
Example of CHARTEVENT_MOUSE_WHEEL event processing:
//+------------------------------------------------------------------+
|
Voir aussi
Fonctions de Gestion des Evènements, Travailler avec les évènements