Diskussion zum Artikel "MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen (Teil 3). Formular-Designer"
Der visuelle Editor sollte weiterhin die manuelle Bearbeitung von Elementen ermöglichen - Dehnen, Verschieben, Eingeben von Text, Kopieren usw. Hilfskennzeichnungen sind wünschenswert.
Dieser Editor ist vielversprechend, obwohl ich keine Ahnung habe, wie der Autor die anderen Anforderungen realisiert, da ich seine Technologie nicht verstehe. Er "steht auf den Schultern" der Standardbibliothek und gibt einerseits einen kräftigen Schub nach vorne, andererseits erbt er deren Einschränkungen. Sie ist nicht für eine groß angelegte Transformation gedacht... Eine Menge Funktionalität wird von oben hinzugefügt werden müssen.
Liste der Anforderungen an den zukünftigen Editor:
1. Manuelle Anpassung von Elementen.
2. Kopieren von Elementen.
3) Gleichzeitige Verwaltung der Eigenschaften einer Gruppe von Elementen.
4. Hilfskonstruktion.
5. Mehrfenstermodus.
6. Erstellen von Fenstern verschiedener Typen.
7. Unterstützung für Fenstereigenschaften: "immer oben", andere blockierend, mit/ohne Minimierung.
8. Parallele Bearbeitung von Fenstern.
9. Löschen von Fenstern.
Das ist alles für den Moment.
Soweit ich weiß, bestehen die SB-Controller aus MT-Objekten, was einerseits das System der Interaktion mit den Elementen und der manuellen Anpassung vereinfacht (vor langer Zeit hatte ich einen Editor, der auf MT-Objekten basierte, und es war nicht schwer, ihn zu erstellen), andererseits (wenn man diese Vereinfachung akzeptiert) - alle Vorteile von Kanvas (darunter Geschwindigkeit, visuelle Effekte und vieles mehr) wegnimmt. Das heißt - der "Doping-Effekt" der Verwendung von SB bei der Erstellung eines Editors schränkt dessen Entwicklung stark ein. Aber, mal sehen...

- www.mql5.com
Ich denke, dass in naher Zukunft jeder in der Lage sein wird, eine beliebige grafische Schnittstelle zu erstellen und einzurichten, die Ihren Bedürfnissen entspricht.

- www.mql5.com
Hallo,
Ich stehe vor dieser Art von Situation in einem meiner Laptops.
Alles sieht winzig aus, außer den Textbeschriftungen.
Der Wert von "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" ist 192.
Wissen Sie, wie man das Problem lösen kann? Ich dachte, die Bibliotheken würden sich automatisch an meine Bildschirmeinstellungen anpassen.
Hallo,
Ich stehe vor dieser Art von Situation in einem meiner Laptops.
Alles sieht winzig aus, außer den Textbeschriftungen.
Der Wert von "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" ist 192.
Wissen Sie, wie man das Problem lösen kann? Ich dachte, die Bibliotheken würden sich automatisch an meine Bildschirmeinstellungen anpassen.
Leider habe ich keine Möglichkeit, sie unter verschiedenen Umgebungen zu testen. Die Bibliothek basiert auf Standard-Steuerungen (mit kleinen Korrekturen, die nichts mit dpi zu tun haben). Wenn es also irgendwie schief geht, scheint das ein allgemeines Problem zu sein, nicht das der Bibliothek.
Aber ich denke, Sie sollten zuerst Ihre Windows-Skalierungseinstellung überprüfen.
Nur eine Idee - versuchen Sie, Defines.mqh zu patchen:
#define CONTROLS_FONT_SIZE (-10)
Das Minuszeichen wird hinzugefügt.
Oder eine andere Idee:
#define CONTROLS_FONT_SIZE ((int)(10.0 / (TerminalInfoInteger(TERMINAL_SCREEN_DPI) / 96.0)))Lassen Sie mich wissen, ob eine der beiden Varianten hilft.

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Neuer Artikel MQL als Darstellungsmittel für graphische Schnittstellen von MQL-Programmen (Teil 3). Formular-Designer :
In diesem Artikel schließen wir die Beschreibung unseres Konzepts zum Aufbau der Fensterschnittstelle von MQL-Programmen unter Verwendung der Strukturen von MQL ab. Ein spezialisierter grafischer Editor erlaubt es, das Layout, das aus den Basisklassen der GUI-Elemente besteht, interaktiv zu erstellen und es dann in die MQL-Beschreibung zu exportieren, um es in Ihrem MQL-Projekt zu verwenden. Hier stellen wir das interne Design des Editors und ein Benutzerhandbuch vor. Die Quellcodes sind beigefügt.
Der Editor ist für die Klassen der Schnittstellenelemente der Standardbibliothek konzipiert. Um ähnliche Werkzeuge für andere Bibliotheken zu erstellen, müssen Sie die spezifischen Implementierungen aller abstrakten Entitäten aus dem vorgeschlagenen Markup-System schreiben. Gleichzeitig sollten Sie sich von der Implementierung der Markup-Klassen für die Standardbibliothek leiten lassen.
Es ist zu beachten, dass die Definition der "Bibliothek der Standardkomponenten" sachlich nicht korrekt ist, da wir sie im Zusammenhang mit unseren vorangegangenen Artikeln erheblich modifizieren und in den parallelen Versionszweig im Ordner ControlsPlus legen mussten. Hier werden wir sie weiterhin verwenden und modifizieren.
Listen wir die Arten von Elementen auf, die vom Editor unterstützt werden sollen.
Alle Klassen gewährleisten eine adaptive Größenanpassung (einige Standardtypen konnten das am Anfang, während wir bei den anderen erhebliche Änderungen vornehmen mussten).
Bearbeitung des Formulars
Autor: Stanislav Korotky