Diskussion zum Artikel "Grafische Interfaces IV: Der Multi-Window-Modus und das System für Prioritäten (Kapitel 2)"
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
Neuer Artikel Grafische Interfaces IV: Der Multi-Window-Modus und das System für Prioritäten (Kapitel 2) :
In diesem Kapitel werden wir die Bibliothek um die Möglichkeit der Erzeugung von Multi-Window-Modus-Interfaces für MQL Anwendungen erweitern. Wir werden zudem ein System für die Priorität eines Klicks mit der linken Maustaste auf grafische Objekte entwickeln. Dieses ist notwendig um Probleme zu vermeiden, falls der Anwender auf ein grafisches Element klickt und dieses nicht reagiert.
Der Multi-Window-Modus
Lassen Sie uns den Multi-Window-Modus des grafischen Interfaces unserer zu entwickelnden Bibliothek betrachten. Bis jetzt bietet die ENUM_WINDOW_TYPE Enumeration zwei Bezeichner: für das Haupt-(W_MAIN) und das Dialog (W_DIALOG) -Fenster (Window). Der Ein-Fenster-Modus war der einzige Modus, den wir gebraucht haben. Nachdem wir ein paar Ergänzungen hinzugefügt haben, muss für das Aktivieren des Multi-Window-Modus lediglich noch die Erzeugung und das Hinzufügen der benötigten Anzahl von Formularen zur Basis erfolgen.
Erzeugen sie in der Hauptklasse für die Event-Bearbeitung CWndEvents eine Variable für das Abspeichern des Index des aktuellen aktiven Fensters.
Lassen Sie uns nun ansehen, wie der Index des aktiven Fensters identifiziert werden kann. Wenn nun zum Beispiel der Anwender einem Button ein Dialogfenster (W_DIALOG) zuweist: Sind nun der Button gedrückt wird, dann wird das ON_CLICK_BUTTON Event erzeugt. Dieses Event kann in dem CProgram::OnEvent() Eventhandler der Benutzerklasse nachverfolgt werden. Wir verwenden zudem die CWindow::Show() Methode des Formulars welche noch gezeigt werden muss. Die aktuelle Implementation der Bibliothek ist noch nicht ausreichend und wir werden die notwendigen Erweiterungen vorstellen.
Autor: Anatoli Kazharski