- Typen der Chartereignisse
- Chartperioden
- Charteigenschaften
- Positionieren des Charts
- Darstellung des Charts
- Beispiele von Arbeiten mit dem Chart
Typen der Chartereignisse
Es gibt 13 Typen der Ereignisse, die durch die vorbestimmte Funktion OnChartEvent() bearbeitet werden können. Für Benutzerereignisse werden 65535 Identifikatoren im Bereich von CHARTEVENT_CUSTOM bis CHARTEVENT_CUSTOM_LAST vorausgesehen. Für Generieren des Benutzerereignisses muss man die Funktion EventChartCustom() verwenden.
ENUM_CHART_EVENT
Identifikator |
Beschreibung |
|---|---|
CHARTEVENT_KEYUP |
Loslassen einer Taste |
CHARTEVENT_KEYDOWN |
Tasten |
CHARTEVENT_MOUSE_MOVE |
Das Bewegen der Maus und Mausklicks (wenn die Eigenschaft CHART_EVENT_MOUSE_MOVE=true ist für den Chart eingegeben) |
CHARTEVENT_MOUSE_WHEEL |
Drücken oder Scrollen des Mausrads (wenn die Eigenschaft CHART_EVENT_MOUSE_WHEEL=true für den Chart gesetzt wurde) |
CHARTEVENT_OBJECT_CREATE |
Erzeugung vom graphischen Objekt (wenn die Eigenschaft CHART_EVENT_OBJECT_CREATE=true ist für den Chart eingegeben) |
CHARTEVENT_OBJECT_CHANGE |
Veranderung der Objekteigenschaften durch Dialog der Eigenschaften |
CHARTEVENT_OBJECT_DELETE |
Entfernung vom graphischen Objekt (wenn die Eigenschaft CHART_EVENT_OBJECT_DELETE=true ist für den Chart eingegeben) |
CHARTEVENT_OBJECT_CLICK |
Betaetigen der Taste mit der Maus auf dem graphischen Objekt |
CHARTEVENT_OBJECT_DRAG |
Ziehen des graphischen Objektes |
CHARTEVENT_OBJECT_ENDEDIT |
Beenden von Texteditieren im graphischen Objekt Edit |
CHARTEVENT_CHART_CHANGE |
Ereignis der Veränderung der Chart-Größe oder Veränderung der Chart-Eigenschaften durch Dialog von Eigenschaften |
CHARTEVENT_CUSTOM |
Anfangsnummer des Ereignisses vom Bereich der Benutzerereignisse |
CHARTEVENT_CUSTOM_LAST |
Endnummer des Ereignisses vom Bereich der Benutzerereignisse. |
Das Ereignis CHARTEVENT_KEYUP
CHARTEVENT_KEYUP Das Ereignis tritt ein, wenn ein Nutzer eine Taste loslässt, während das Chart-Fenster den Eingabefokus hat. Dieses Ereignis ergänzt das bereits vorhandene CHARTEVENT_KEYDOWN, das beim Drücken einer Taste ausgelöst wird. Durch die Verwendung beider Ereignisse können wir genau bestimmen, wann Tasten gedrückt und losgelassen werden, was bei der Erstellung von Nutzeroberflächen und Tools mit interaktiven Steuerelementen nützlich ist.
void OnChartEvent(const int id,
|
lparam enthält (KeyCode) ähnlich wie das Ereignis CHARTEVENT_KEYDOWN. Verwenden Sie die Funktion TranslateKey(), um die Textdarstellung einer Taste zu erhalten.
Behandlung von Tottasten
Die Behandlung der sogenannten „Tottasten” wird unterstützt. Dies sind Tasten, bei denen nicht sofort ein Zeichen zu sehen ist, sondern die das Aussehen des nächsten eingegebenen Zeichens ändern. Beispielsweise wird in der griechischen Tastaturbelegung die Taste ; verwendet, um Vokale (ά, έ, ύ usw.) zu betonen.
Jetzt können solche Tasten mit der Funktion TranslateKey() von der Ereignisbehandlung CHARTEVENT_KEYDOWN und CHARTEVENT_KEYUP umgesetzt werden. Dadurch können komplexe Tastenkombinationen in mehrsprachigen Layouts korrekt erkannt werden.
void OnChartEvent(const int id,
|
Die Behandlung der Tottasten ist nützlich bei der Implementierung nutzerdefinierter Textfelder, Hotkey-Systeme und Schnittstellen, die auf internationale Tastaturlayouts reagieren.
OnChartEvent, Funktionseingaben
Für jeden Typ des Ereignisses haben Eingabeparameter der Funktion OnChartEvent() vorbestimmte Werte, die für Verarbeitung dieses Ereignisses notwendig sind. In der Tabelle sind Ereignisse und Werte aufgezählt, die durch Parameter übertragen werden.
Ereignis |
Wet des Parameters id |
Wert des Parameters lparam |
Wert des Parameters dparam |
Wert des Parameters sparam |
|---|---|---|---|---|
Ereignis des Loslassens einer Taste |
CHARTEVENT_KEYUP |
Code der losgelassenen Taste |
Die Anzahl der Ereigniswiederholungen ist immer 1 |
Der Wert einer Zeichenfolge in Form einer Bitmaske, der den Status von Modifikatortasten beschreibt. Siehe WM_KEYUP-Meldung |
Ereignis eines Tastendrucks |
CHARTEVENT_KEYDOWN |
Code der gedrückten Taste |
Anzahl der Ereigniswiederholungen, während eine Taste gedrückt bleibt |
Der Wert einer Zeichenfolge in Form einer Bitmaske, der den Status von Modifikatortasten beschreibt. Siehe WM_KEYDOWN-Meldung |
Mausereignisse (wenn die Eigenschaft CHART_EVENT_MOUSE_MOVE=true ist für den Chart eingegeben) |
CHARTEVENT_MOUSE_MOVE |
X-Koordinate |
Y-Koordinate |
Der String-Wert einer Bit-Maske, die den Status der Maustasten beschreibt |
Das Ereignis des Mausrads (wenn die Eigenschaft CHART_EVENT_MOUSE_WHEEL=true für den Chart gesetzt wurde) |
CHARTEVENT_MOUSE_WHEEL |
Flags des Status der Tasten und Knöpfe der Maus, X- und Y-Koordinaten des Cursors. Die Beschreibung ist im Beispiel unten zu finden |
Der Wert Delta des Scrollens des Mausrads |
— |
Ereignis der Erzeugung des graphischen Objektes (wenn die Eigenschaft CHART_EVENT_OBJECT_CREATE=true ist für den Chart eingegeben) |
CHARTEVENT_OBJECT_CREATE |
— |
— |
Name des erzeugten graphischen Objektes |
Ereignis der Veränderung der Eigenschaften des Objektes durch Dialog der Eigenschaften |
CHARTEVENT_OBJECT_CHANGE |
— |
— |
Name des veränderten graphischen Objektes |
Ereignis der Entfernung des graphischen Objektes (wenn die Eigenschaft CHART_EVENT_OBJECT_DELETE=true ist für den Chart eingegeben) |
CHARTEVENT_OBJECT_DELETE |
— |
— |
Name des entfernten graphischen Objektes |
Ereignis des Mausklicks auf der graphischen Darstellung |
CHARTEVENT_CLICK |
X-Koordinate |
Y-Koordinate |
— |
Ereignis des Mausklicks auf dem graphischen Objekt |
CHARTEVENT_OBJECT_CLICK |
X-Koordinate |
Y-Koordinate |
Name des graphischen Objektes, auf dem das Ereignis geschehen ist |
Ereignis der Verschiebung des graphischen Objektes per Mausklick |
CHARTEVENT_OBJECT_DRAG |
— |
— |
Name des verschobenen graphischen Objektes |
Ereignis der Beendung des Texteditierens im Eingabefeld des graphischen Objektes "Eingabefeld" |
CHARTEVENT_OBJECT_ENDEDIT |
— |
— |
Name des graphischen Objektes "Eingabefeld", in dem Editieren des Textes beendet wurde |
Ereignis der Veränderung der Chart-Größe oder Veränderung der Chart-Eigenschaften durch Dialog von Eigenschaften |
CHARTEVENT_CHART_CHANGE |
— |
— |
— |
Benutzerereignis mit Nummer N |
CHARTEVENT_CUSTOM+N |
Wert, vorgegeben durch die Funktion EventChartCustom() |
Wert, vorgegeben durch die Funktion EventChartCustom() |
Wert, vorgegeben durch die Funktion EventChartCustom() |
Beispiel:
#define KEY_NUMPAD_5 12 |
Für die Ereignisse CHARTEVENT_MOUSE_MOVE enthält der Stringparameter sparam eine Zahl, die den Zustand der Tasten übergibt:
Bit |
Besreibung |
|---|---|
1 |
Der Zustand der linken Maustaste |
2 |
Der Zustand der rechten Maustaste |
3 |
Der Zustand der SHIFT-Taste |
4 |
Der Zustand der CTRL-Taste |
5 |
Der Zustand der mittleren Maustaste |
6 |
Der Zustand der ersten zusätzlichen Maustaste |
7 |
Der Zustand der zweiten zusätzlichen Maustaste |
Beispiel:
//+------------------------------------------------------------------+
|
Für das Ereignis CHARTEVENT_MOUSE_WHEEL beinhalten die Parameter lparam und dparam Informationen über den Status der Tasten Ctrl, Shift, Maustasten, Koordinaten des Cursors und den Scrollwert des Mausrads. Für ein besseres Verständnis starten Sie diesen Expert Advisor auf dem Chart und scrollen Sie das Mausrad, während Sie Knöpfe und Tasten drücken, die im Code beschrieben sind.
Ein Beispiel für die Verarbeitung des Ereignisses CHARTEVENT_MOUSE_WHEEL:
//+------------------------------------------------------------------+
|
Sehen Sie auch
Funktionen der Bearbeitung von Ereignissen, Arbeit mit Ereignissen