Bibliotheken: Die Bibliothek EasyAndFastGUI zum Erstellen von grafischen Interfaces - Seite 28

 

Eine neue Version(v2.14) ist veröffentlicht worden:

  1. Hinzufügen des TimeRanges-Elements zur Visualisierung von Zeithandelsbereichen.
  2. Mehrere kleinere Korrekturen, die von Bibliotheksbenutzern gemeldet wurden.
  3. Neue Beispiele für grafische Schnittstellen hinzugefügt.


 
Anatoli Kazharski #:

Neue Version veröffentlicht(v2.14)

Bitte binden Sie eine ähnliche Funktion ein.

// Interaktive Visualisierung der Matrix als GUI-Tabelle.
bool CreateTable( const matrix &Matrix, const string &ColNames[] )


Um diese Art von prägnantem Code zum Laufen zu bringen.

#include <EasyAndFastGUI\Simple.mqh> // https://www.mql5.com/de/code/19703

void OnInit()
{
  matrix Matrix;
  string ColNames[];
  
  CreateTable(Matrix, ColNames); // Funktion aus Simple.mqh
}

EAF_SIMPLE // Dieses Makro aus Simple.mqh enthält einen Standardsatz von On-Funktionen für die GUI-Interaktivität.


Eine Art Analogie zum GraphPlot-Ansatz, aber für Matrizen und interaktiv. Was fehlt, ist eine schnelle Visualisierung für verschiedene Arten von Daten, so einfach wie möglich in der Syntax.

 
fxsaber #:

Bitte bauen Sie eine ähnliche Funktion ein.

...

Damit dieser knappe Code funktioniert.

...

Eine Art Analogie zum GraphPlot-Ansatz, aber für Matrizen und interaktiv. Was fehlt, sind schnelle Visualisierungen für verschiedene Arten von Daten, so einfach wie möglich in der Syntax.

Danke für die interessante Anregung!

Ich habe ihn in die Aufgabenliste aufgenommen. Wir werden mehr darüber diskutieren, wenn ich bereit bin, mit der Arbeit daran zu beginnen.

 

Eine neue Version(v2.15) ist veröffentlicht worden:

  • Automatische Skalierung der Benutzeroberfläche in Abhängigkeit von den Einstellungen Ihres Betriebssystems(DPI).
  • Ein paar kleinere Fehlerbehebungen.

Wie sich die zweite Version der Bibliothek von der ersten unterscheidet
.

  1. Alle Bilder für GUI-Elemente sind digitalisiert und Sie benötigen keinen Ordner mit Bildern mehr. Sie können das Archiv mit den Bildern aus der alten Version herunterladen, wenn Sie einen eigenen Satz von Bildern zum Arbeiten benötigen.
  2. Signifikante Verbesserung der Ereignisstromverarbeitung. In der Vorgängerversion gab es eine spürbare Verzögerung, wenn es viele Elemente gab. Jetzt funktioniert alles sehr schnell mit einer beliebigen Anzahl von Elementen.
  3. Es wurde die Möglichkeit hinzugefügt, das Farbschema der GUI zu ändern. In dieser Version ist es möglich, schnell zwischenhellen und dunklen Themen während der Arbeit an einer bereits fertigen MQL-Anwendung zu wechseln.
  4. Ein neues Element(C3DBase) aus der Standardbibliothek(CCanvas3D) für die Arbeit mit 3D-Grafiken wurde integriert.
  5. TimeRanges-Element für die Visualisierung von Zeithandelsbereichen.
  6. Mehrfenstermodus. Sie können jetzt zwischen freiem Umschalten und modalem Modus wählen.
  7. Automatische Skalierung der grafischen Oberfläche in Abhängigkeit von den Einstellungen Ihres Betriebssystems (DPI).
  8. Geänderte Struktur der Bibliotheksordner und Dateien. Alle Dateien sind nun kategorisiert.
  9. Die zweite Version kommt mit einerMT4-ready Version.
  10. Für alle Elemente gibt es Methoden zur schnellen Erstellung. Fast alle Elemente mit Standardparametern können jetzt in nur einer Codezeile erstellt werden.

Die folgenden Screenshots zeigen den Unterschied bei 100% und 125% Skalierung (in den OS-Einstellungen):

//---

Die Bilder sind in hoher Auflösung. Sie sehen also auch bei 400% Skalierung(8K UHD) noch gut aus.

 

Neue Version veröffentlicht(v2.15):

  • Automatische Skalierung der grafischen Oberfläche in Abhängigkeit von den Einstellungen Ihres Betriebssystems(DPI).
  • Mehrere kleinere Korrekturen.

Was ist der Unterschied zwischen der zweiten Version der Bibliothek und der ersten

  1. Alle Bilder für GUI-Elemente wurden digitalisiert, so dass jetzt kein Ordner mit Bildern mehr erforderlich ist. Sie können das Archiv mit den Bildern der alten Version herunterladen, wenn Sie eine Reihe von Bildern für Ihre Arbeit benötigen.
  2. Signifikante Verbesserung der Behandlung von Ereignisströmen. In der Vorgängerversion gab es eine spürbare Verzögerung, wenn es viele Elemente gab. Jetzt funktioniert alles sehr schnell mit einer beliebigen Anzahl von Elementen.
  3. Es wurde die Möglichkeit hinzugefügt, das Farbschema der GUI zu ändern. In dieser Version ist es möglich, schnell zwischen hellen und dunklen Themen zu wechseln, während eine vorgefertigte MQL-Anwendung läuft.
  4. Integration eines neuen Elements(C3DBase) aus der Standardbibliothek(CCanvas3D) für die Arbeit mit dreidimensionalen Grafiken.
  5. Das TimeRanges-Element für die Visualisierung von Zeithandelsbereichen.
  6. Multi-Fenster-Modus. Jetzt können Sie zwischen freiem Umschalten und modalem Modus wählen.
  7. Automatische Skalierung der grafischen Oberfläche in Abhängigkeit von den Einstellungen Ihres Betriebssystems(DPI).
  8. Die Struktur von Ordnern und Bibliotheksdateien hat sich geändert. Jetzt sind alle Dateien kategorisiert.
  9. Die zweite Version kommt mit einer einsatzbereiten MT4-Version.
  10. Alle Elemente haben Methoden zur schnellen Erstellung. Fast alle Elemente mit Standardparametern können jetzt in nur einer Zeile Code erstellt werden.

Die folgenden Screenshots zeigen den Unterschied bei einer Skalierung von 100% und 125% (in den Einstellungen des Betriebssystems):


//---

Bilder in hoher Auflösung. Das heißt, selbst bei einer Skalierung von 400%(8K UHD) sehen sie großartig aus.

 

Hallo Anatoli,

Danke für das Update!!

Bitte könnten Sie teilen, wie man diese GUI ditized Bilder verwenden?

Für explame für diese EA,

In welchen Ressourcen wurden verwendet, die auf Imaga Ordner zeigen. Wie könnte das gelöst werden?


Danke!

 

Entschuldigung,

ich sehe EAF 001 Beispiel,

In der Version 2.14 hat die Explame diesen Code



und in der Version 2.15 hat es diesen Code

Ich gehe also davon aus, dass sich die Bilder\\EasyAndFastGui\\Icons geändert haben.

Als ich auf die neue Version 2.15 aktualisiert habe, wurde kein Bildordner heruntergeladen.

Können Sie mir helfen?

Danke

 

Ein anderes Problem, das ich habe, ist, dass ich die Größe der Schaltfläche Y nicht ändern kann, wenn ich mit einer Gruppe von Schaltflächen arbeite (funktioniert gut mit einer einzelnen Schaltfläche)

V 2.14 Beispiel 001

//--- Schaltflächengruppe 1

string text1[] = {"BUTTON 1", "BUTTON 2"};

CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);

m_buttons1.SelectButton(1);

m_buttons1.ButtonYSize(80); /Zusätzlich von mir!

Diese letzte Codezeile hat keine Wirkung.

Ich habe auch versucht

m_buttons1.YSize(80)


Vielen Dank für Ihre Hilfe!

 
Facundo Laje #:

...

Wenn ich auf die neue Version 2.15 aktualisiere, wird kein Bildordner heruntergeladen.

Können Sie mir helfen?

Danke

Für Benutzer der Bibliothek EasyAndFastGUI 2.0 sende ich auf Anfrage in privaten Nachrichten ein Archiv mit hochauflösenden Bildern.

Für Steuerelemente werden sie nicht benötigt, da sie digitalisiert und in den Bibliothekscode eingebaut sind. Sie können jedoch in benutzerdefinierten Elementen verwendet werden, wie in den Codebeispielen gezeigt wird, die mit der Bibliothek geliefert werden.

Ich werde Ihnen ein Archiv mit Bildern in privaten Nachrichten schicken.

 
Facundo Laje #:

Ein anderes Problem, das ich habe, ist, dass ich die Größe der Schaltfläche Y nicht ändern kann, wenn ich mit einer Gruppe von Schaltflächen arbeite (funktioniert gut mit einer einzelnen Schaltfläche).

...

Vielen Dank für Ihre Hilfe!

Vielen Dank für die Nachricht!

Der Fix wird im nächsten Update enthalten sein.

Um die notwendigen Änderungen selbst in dieser Datei vorzunehmen:

MQL5\Include\EasyAndFastGUI\Core\Create\Include\Buttons\ButtonsGroup.mqh

Entfernen Sie diese Zeile (Höhe für die Standardschaltfläche):

  //--- Eigenschaften der Schaltfläche
  static void SetDefaultButtonParams(CButton &obj, const color label_clr, const color border_clr) {
    
    obj.YSize(20);
    obj.LabelColor(label_clr);
    obj.LabelColorHover(label_clr);
    obj.LabelColorPressed(label_clr);
    obj.BorderColor(border_clr);
    obj.BorderColorHover(border_clr);
    obj.BorderColorPressed(border_clr);
  }

//---

Dann wird es möglich sein, die Höhe aller Schaltflächen in der Gruppe wie folgt einzustellen:

  //--- Schaltflächen Gruppe 1
  string text1[] = {"BUTTON 1", "BUTTON 2"};
  m_buttons1.ButtonYSize(25);
  CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);
  m_buttons1.SelectButton(1);