Galerie der in MQL geschriebenen UIs - Seite 41

 

Als Ergebnis der Installation der neuen Version des Konstruktors sollten Sie ein aktualisiertes Kontextmenü sehen (Doppelklick auf das Diagramm):


Wenn Sie ein solches Menü sehen, dann war die Installation erfolgreich.

 

Diese Installation unterscheidet sich nicht von der vorherigen. Dieselben Schritte in derselben Reihenfolge.

Es gibt Textanleitungen in diesem Blog. Und auch in Bildern:

https://www.mql5.com/ru/blogs/post/758425

KIB-DRIVE instalation instractions
KIB-DRIVE instalation instractions
  • www.mql5.com
This archive contains: //------------------------------------------------------------------------------ 1. Folder     (1) KIB 1.0
 

Unabhängig davon möchte ich die neue EA Shell v1.mq5 Datei erwähnen

Speichern Sie sie im EAs-Ordner, aber kompilieren Sie sie erst nach dem Ausdrucken der API-Datei im Konstruktor. Es geht um die Verbindungen in ihrem Header.

1. Führen Sie den Konstruktor und den Indikator wie zuvor in einem Chart aus.

2. Öffnen Sie sofort das Kontextmenü und drucken Sie die UIDATA- und API-Dateien.

3. Übertragen Sie diese Dateien in den Ordner unter diesem Pfad:

#include<(2)  KIB PROJECTS\(5) USER PROJECTS\Project 1\

4. Kompilieren Sie EA Shell v1.mq5 und legen Sie es auf einem anderen Chart ab.

5. Erledigt.

 

Eine kleine Anleitung in Bildern:

1.


2.


3.


4.


5.


6.


7.


 
Kleine Installationsanleitung (1) EA Shell v1.mq5 weiter...
 

1.



2.


3.



4.



5.



6.



7.


DiscussionForumPosting - Schema.org Type
  • schema.org
Schema.org Type: DiscussionForumPosting - A posting to a discussion forum.
 

Die obigen Einstellungsfenster sind für das Testen der Verbindung und der Reaktion auf Schnittstellenereignisse durch benutzerdefinierte Funktionen vorgesehen.

Öffnen Sie dazu die API-Datei und schreiben Sie Ihre Aufrufe.

Standardmäßig rufen Schnittstellenereignisse die Funktion Alert() auf, die bei Ereignissen, die sich auf Elemente auswirken, ihren Bezeichner und Parameterwert ausgibt.

 
Ich werde die neue Version später testen.
 

Eine Liste der Fehlerbehebungen und Aktualisierungen in dieser und der nächsten Version:

Globale Änderungen:

  • Die Datei Internal_API wurde in ARI umbenannt.
  • Alle Defines und Funktionen, die für die Arbeit des Benutzers mit Steuerelementen nicht relevant sind, wurden aus der API-Datei entfernt. Teilweise wurden sie in die UIDATA-Datei verschoben.
  • Die Methode der Verknüpfung von Anwendercode mit Steuerelementen wurde grundlegend geändert. Der Benutzer hat nun direkten Zugriff auf den G_CORE-Kernel, in dem die Steuerelemente gespeichert sind. Der Zugriff erfolgt über Wrapper-Funktionen, die automatisch in der UIDATA-Datei ausgegeben werden.
  • Den Namen der Wrapper-Funktionen wird ein spezielles Präfix hinzugefügt, um das Auffinden der Elemente durch Intellisense zu erleichtern.
  • Es wurde die Möglichkeit eröffnet, ein Kontextmenü für eine Benutzeranwendung zu erstellen. Ein spezieller Bereich in der Datei #include<(2) KIB PROJECTS\(1) Must be included\User section\My menu section.mqh> wurde zugewiesen
  • Es wurde die Möglichkeit hinzugefügt, Schaltflächen im rechten Teil der Taskleiste des Benutzers zu setzen. Zu diesem Zweck wurde ein spezieller Bereich in der Datei #include<(2) K IB PROJECTS\ (1) Must be included\Benutzerabschnitt\Meine Taskbar section.mqh> vorbereitet.
  • Das benutzerdefinierte Kontextmenü und die Taskleiste werden jetzt aus dem Kontextmenü des Konstruktors aufgerufen und stören nicht bei der Bearbeitung anderer Fenster:


  • Das Benutzer-Kontextmenü kann Junior-Menüfenster aufrufen.

So sieht es nach dem Speichern des Projekts und dem Wechsel in den Benutzeranwendungsmodus auf einer anderen Karte aus: .

  • Das Verhalten der Kontextmenü-Fenster ist ähnlich dem Verhalten in der Windows-Anwendungsumgebung.

  • Kontextmenüoptionen können Funktionen oder Fenster aufrufen. Wenn ein Menüpunkt ein Fenster aufruft, wird das Fenstersymbol automatisch nach links verschoben.



  • Lokale Änderungen und Verbesserungen:

  • Es wurdeein Problem behoben, bei dem die Taskleiste beim Umschalten von Diagrammen sprang. Sie passt sich jetzt besser und schneller an die Größenänderung des Fensters an.
  • DieSchieberegler funktionieren besser:
  • Der Wertetab (S_WIDGET) passt sich immer den Ziffern des Wertes an und nimmt die Größe in Abhängigkeit von der Textgröße des maximalen (oder minimalen) Wertes an.
  • Die Anzeigetafel wird auf einer der 4 Seiten positioniert, wie vom Benutzer gewünscht (durch Flaggen eingestellt).
  • Der Schieberegler schaltet jeden Wert in einem beliebigen Bereich mit einem beliebigen Der Schieberegler schaltet einen beliebigen Wert in einem beliebigen Bereich mit einer beliebigen Anzahl von Dezimalstellen und in einem bestimmten Schritt um.
  • Die Anzahl der Nachkommastellen (Genauigkeit des Wertes) wird vom Benutzer eingestellt (Wort DIGITS).
  • Die Größe des Schiebereglers und der Wertebereich spielen keine Rolle. Der Algorithmus berechnet die Bewegung des Schiebereglers durch den Bereich so, dass das eine Ende immer ein Minimum und das andere Ende immer ein Maximum hat.
  • Beim Anklicken der Schieberegler-Spur springt der Schieberegler automatisch an die Stelle des Anklickens und bewegt sich synchron mit dem Benutzer weiter, wenn die Maustaste gedrückt wird.
  • Es ist geplant, die Möglichkeit hinzuzufügen, den Schieberegler mit dem Mausrad durch die Schieberegler-Spur zu verschieben.


  • Probleme mit der Dropdown-Liste wurden behoben.

  • Die Liste springt nicht mehr, wenn die Schaltfläche "Öffnen" angeklickt wird.
  • Das Problem, dass die Liste beim Scrollen nach unten verschwindet, wurde behoben.
  • Die Liste kann mit dem Mausrad gescrollt werden, auch wenn sich der Cursor auf der Bildlaufleiste oder den Schaltflächen befindet.
  • Das Scrollen der Liste mit dem Mausrad ist jetzt schneller.


  • Falsches Klick-Problem behoben:

  1. Bisher führte das Drücken einer Schaltfläche oder eines anderen ähnlichen Elements zu einer Zustandsänderung, auch wenn der Druck außerhalb des Elementbereichs erfolgte. Dieses Problem wurde nun behoben. Wenn der Benutzer auf ein Element klickt, es sich aber anders überlegt und den Cursor wegbewegt oder ihn auf ein anderes Element oder einen freien Bereich des Diagramms bewegt, wird das Element des ersten Klicks immer in den vorherigen Zustand zurückkehren. Als ob nichts passiert wäre. Das Ereignis wird abgebrochen und der Parameterwert wird nicht verändert. Die Fixierung des falschen Klicks ermöglicht es Ihnen, den Klick im letzten Moment abzubrechen, indem Sie den Cursor (bei noch gedrückter Maustaste) auf eine andere Stelle bewegen.


  • Es wurde beschlossen, sich auf die Erstellung von Vorlagen für professionelle Windows-ähnliche Einstellungsfenster zu konzentrieren, um deren Erstellung für die Benutzer zu erleichtern. Ein gutes Beispiel für solche Fenster sind die mitgelieferten Fenster Einstellungsbeispiel 1 und Einstellungsbeispiel 2 (die über das Kontextmenü und die Verwendung der Taskleiste aufgerufen werden):

  • Es wurde die Möglichkeit hinzugefügt, Nachrichten zu blockieren.

    Beispiel:

Öffnen Sie zunächst die verschiedenen Einstellungsfenster. Die entsprechenden Schaltflächen befinden sich unten in der Taskleiste. Gehen Sie dann zum Kontextmenü (Doppelklick auf das Diagramm) und öffnen Sie das Fenster "Sorry, this order is blocked". Es befindet sich hier:


Versuchen Sie dann, bei geöffnetem "Sorry, this order is blocked"-Fenster auf ein beliebiges zuvor geöffnetes Fenster zu klicken. Alle Aktionen in anderen Fenstern werden so lange blockiert, bis das Fenster geschlossen wird. Sie können jedoch die Liste der blockierten Fenster in den Fenstereigenschaften im Cybercode einschränken. Dann werden einige Fenster blockiert und andere nicht. Dies hängt von der Entscheidung des Benutzers ab.


  • Jetzt können Dialogfenster mit Ton geöffnet werden. Dies wird über den KIB-Code in den Fenstereigenschaften eingestellt.
  • Dialogfenster haben eine besondere Priorität gegenüber anderen Fenstern und werden immer über den Einstellungsfenstern gezeichnet.
  • Die Schaltflächen von Dialogfenstern (Ok, Abbrechen, Bestätigen, Schließen) funktionieren und schließen ihre Fenster automatisch, wenn sie gedrückt werden.


  • Bei Dialogfenstern kann die Minimierungsfunktion deaktiviert werden. In diesem Fall erscheinen sie nicht in der Taskleiste.


  • Der Fenstername kann sich links oder in der Mitte befinden. Er wird durch ein Flag in den Fenstereigenschaften festgelegt (cyb-code).
  • Dialogfenster können programmatisch aus der Anwendung des Benutzers aufgerufen werden.
  • Dialogfenster können automatisch geschlossen werden, wenn man auf ein anderes Fenster oder Diagramm klickt. Diese Möglichkeit wird vom Benutzer in den Fenstereigenschaften im Cyb-Code eingestellt.


 

Hinzugefügt:

Die Menüfenster bleiben jetzt immer innerhalb des Diagrammbereichs und werden nicht mehr ausgeblendet. Beispiel:

NICHT ÜBER DEN RECHTEN RAND DES DIAGRAMMS HINAUSGEHEN:


NICHT ÜBER DEN UNTEREN RAND DES DIAGRAMMS HINAUSGEHEN: