![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Irgendwo auf dem Forum eine voll funktionsfähige Code auf mql4 und mql5
Ich habe ihn vor etwa einem Jahr geschrieben.
In welchem Thema, oder wie suchen Sie?
In welchem Bereich, oder wie suchen Sie?
Das ist die große Frage bei der primitiven Site-Suche, sonst hätte ich sie selbst gefunden.
Ich schätze, das ist es?
Dankeschön
Dankeschön
Hallo, könnten Sie mir bitte zeigen, wie Sie das gemacht haben?
Ausgabe der Daten aus dem Array an Labels im Clientbereich der Bildlaufleiste mit einem Offset, der dem Offset dieser Bildlaufleiste entspricht. Sie können CScrollV aus der Standardbibliothek als Bildlaufleiste verwenden. Array - eine Liste mit allen Elementen. Beschriftungen - Bereich zur Anzeige von Elementen aus der Liste. Was ist daran so kompliziert...? Falls gewünscht, kann jeder Programmierer, der mit OOP vertraut ist, dies tun.
Ausgabe der Daten aus dem Array an Labels im Clientbereich der Bildlaufleiste mit einem Offset, der dem Offset dieser Bildlaufleiste entspricht. Sie können CScrollV aus der Standardbibliothek als Bildlaufleiste verwenden. Array - eine Liste mit allen Elementen. Beschriftungen - Bereich zur Anzeige von Elementen aus der Liste. Was ist daran so kompliziert...? Falls gewünscht, kann jeder Programmierer, der mit OOP vertraut ist, dies tun.
Haben Sie mit dem Scrolling von SB zu tun? Ich habe es irgendwie nicht hinbekommen, dass es separat auf dem Diagramm funktioniert, ohne das Client-Panel. Wenn ich eine Frage hätte, könnte ich fragen, wie man es benutzt.
Forum zum Thema Handel, automatische Handelssysteme und Strategietester
Wie man ein Grafikpanel beliebiger Komplexität erstellt und wie es funktioniert".
Vasiliy Pushkaryov, 2021.12.21 10:12
Ich versuche, eine vertikale Bildlaufleiste ohne Verknüpfung mit dem Panel zu erstellen, nur auf dem Diagramm, aber es funktioniert nicht.
Bei einem Kontrollkästchen zum Beispiel gibt dieser Code eine Reaktion auf einen Mausklick. Das Kontrollkästchen erscheint und verschwindet wieder.
Aber mit vertikalem Bildlauf - keine Reaktion auf Mausklicks.
Wer weiß, wie man dieses kombinierte Element in der Tabelle zum Laufen bringt?
Haben Sie sich mit dem Scrolling von SB beschäftigt? Aus irgendeinem Grund konnte ich nicht erreichen, dass es separat auf dem Diagramm funktioniert, ohne das Client-Panel. Vielleicht können Sie helfen?
Hier gibt es eine Menge Nuancen. Das Kontrollkästchen funktioniert (visuell), weil es OBJ_BITMAP_LABEL ist, und sein Status wird vom Terminal geändert. Sein Klick kann wie der Klick eines beliebigen Bitmap-Labels in OnChartEvent verfolgt werden. Aber die Standardbibliothek hat ihr eigenes Ereignismodell, das auf benutzerdefinierten Ereignissen basiert. Sie werden in der void CAppDialog::ChartEvent durch Aufzählung des CArrayObj CWndContainer::m_controls erzeugt, wenn die Komponente CScrollV zumCAppDialog hinzugefügt wurde.Dann werden Ereignisse wie ON_CLICK, ON_DRAG_START, ON_DRAG_PROCESS und ON_DRAG_ENDerzeugt. In Ihrem Fall wurden Komponenten nicht zu CAppDialog hinzugefügt, daher werden keine Ereignisse erzeugt. Wie man diesen Mechanismus umgehen und die Erzeugung von benutzerdefinierten Ereignissen ohne CAppDialog erzwingen kann, darüber habe ich nicht nachgedacht. Ich muss den Quellcode noch genauer analysieren.
Sie können versuchen, eine Komponente zu erstellen, die auf der Klasse CWndContainer basiert. Und fügen Sie Elemente hinzu. Es gibt dort keine visuellen Elemente (wie in CDialog und CAppDialog), aber alle notwendigen Mechanismen für den korrekten Betrieb von UI-Elementen sind vorhanden.
Da gibt es eine Menge Nuancen. OnCheckBox tick funktioniert (visuell), weil es OBJ_BITMAP_LABEL ist, und sein Zustand wird durch das Terminal geändert. Sein Klick kann wie jeder Bitmap-Label-Klick in OnChartEvent verfolgt werden. Aber die Standardbibliothek hat ihr eigenes Ereignismodell, das auf benutzerdefinierten Ereignissen basiert. Sie werden in der void CAppDialog::ChartEvent durch Aufzählung des CArrayObj CWndContainer::m_controls erzeugt, wenn die Komponente CScrollV zumCAppDialog hinzugefügt wurde.Dann werden Ereignisse wie ON_CLICK, ON_DRAG_START, ON_DRAG_PROCESS und ON_DRAG_ENDerzeugt. In Ihrem Fall wurden Komponenten nicht zu CAppDialog hinzugefügt, daher werden keine Ereignisse erzeugt. Wie man diesen Mechanismus umgehen und die Erzeugung von benutzerdefinierten Ereignissen ohne CAppDialog erzwingen kann, darüber habe ich nicht nachgedacht. Ich muss den Quellcode noch genauer analysieren.
Sie können versuchen, eine Komponente zu erstellen, die auf der Klasse CWndContainer basiert. Und fügen Sie Elemente hinzu. Es gibt dort keine visuellen Elemente (wie in CDialog und CAppDialog), aber alle notwendigen Mechanismen für den korrekten Betrieb von UI-Elementen sind vorhanden.