Diskussion zum Artikel "Erstellung eines Dashboards zur Anzeige von Daten in Indikatoren und EAs" - Seite 4
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
Move(int x, int y)
Irgendwo gibt es einen Fehler. Sie müssen die Koordinaten- und Größenwerte ausdrucken (oder im Debugger nachsehen, aber das funktioniert oft nicht).
Hier ist die Logik in den Kommentaren:
Wenn Sie versuchen, das Panel zu verschieben, nachdem Sie die Größe des Diagramms geändert haben, korrigiert es ständig die Koordinaten und lässt Sie das Panel-Fenster nicht frei bewegen...
Wahrscheinlich ist der Wert der Variable this.m_higher_wnd in der Methode Move() nicht relevant. Diese Werte werden im Eventhandler gesetzt:
Es ist durchaus möglich, dass hier irgendwo die Oversize-Flags nicht korrekt gesetzt werden, wenn das Diagrammfenster erweitert wird.
Wenn Sie diese Zeilen
ganz am Anfang der Move()-Methode schreiben, um das Setzen der korrekten Werte bei jeder Mausbewegung zu erzwingen, wird der Fehler dann verschwinden? Wenn ja, bedeutet dies, dass der Fehler in den Werten dieser Variablen liegt, und Sie müssen im Event-Handler nachsehen, warum sie ihre Werte nicht erhalten, wenn das Fenster erweitert wird. Wenn dort alles normal ist, müssen Sie die Methode Move() ausdrucken, um den Fehler zu finden.
Der Fehler ist verschwunden. Ich habe diese Änderungen an der Methode CDashboard::OnChartEvent() vorgenommen:
Um die CDashboard:: Move()-Methode nicht ständig zu laden, habe ich die Überprüfung auf Übergrößen-Flags in den Blöcken hinzugefügt, in denen die Breite und Höhe des Diagrammfensters direkt geändert werden.
Der Fehler ist verschwunden. In der Methode CDashboard::OnChartEvent() habe ich diese Änderungen vorgenommen:
Um die Methode CDashboard:: Move() nicht ständig zu laden, habe ich die Überprüfung auf Übergrößen-Flags in den Blöcken hinzugefügt, in denen die Breite und Höhe des Diagrammfensters direkt geändert werden.