Diskussion zum Artikel "Die Komponenten View und Controller für Tabellen im MQL5 MVC-Paradigma: Container"

 

Neuer Artikel Die Komponenten View und Controller für Tabellen im MQL5 MVC-Paradigma: Container :

In diesem Artikel geht es um die Erstellung eines „Container“ für Steuerelemente, das den Bildlauf seines Inhalts unterstützt. Im Rahmen dieses Prozesses werden die bereits implementierten Klassen von Grafikbibliothekssteuerungen verbessert.

Im Rahmen der Entwicklung des TableView-Steuerelements im MVC-Paradigma (Model-View-Controller) haben wir bereits die Komponente Model – ein Tabellenmodell – erstellt und mit der Erstellung der Komponenten View und Controller begonnen. Im letzten Artikel wurden einfache, aber recht funktionelle Kontrollen erstellt. Komplexe Steuerungen werden aus solchen Elementen zusammengesetzt. Heute werden wir Steuerelementklassen wie Panel, GroupBox und Container schreiben – alle drei Elemente sind Container, auf denen verschiedene Steuerelemente platziert werden können.

  • Das Panel-Steuerelement ist ein Bedienfeld, auf dem eine beliebige Anzahl von anderen Steuerelementen platziert werden kann. Wenn Sie das Bedienfeld zu neuen Koordinaten verschieben, bewegen sich auch alle darauf befindlichen Bedienelemente mit. Das Bedienfeld ist also ein Container für die darauf befindlichen Bedienelemente. Dieses Element verfügt jedoch nicht über Bildlaufleisten, die einen Bildlauf durch den Inhalt des Containers ermöglichen, wenn dieser über die Grenzen des Bereichs hinausgeht. Solche Inhalte werden einfach an den Containergrenzen abgeschnitten.
  • Das GroupBox-Steuerelement ist ein Satz von Elementen, die in einer Gruppe organisiert sind. Es wird vom Panel abgeleitet und ermöglicht die Gruppierung von Elementen nach einem gemeinsamen Zweck, z. B. eine Gruppe von RadioButton-Elementen, wobei nur ein Element aus der gesamten Gruppe ausgewählt werden kann und der Rest der Gruppenelemente abgewählt wird.
  • Die Containersteuerung. Sie ermöglicht es, nur eine Kontrolle an sich selbst zu befestigen. Wenn das angehängte Element über den Container hinausragt, erscheinen Bildlaufleisten am Container. Sie ermöglichen es, durch den Inhalt des Containers zu blättern. Um eine beliebige Anzahl von Steuerelementen in einem Container zu platzieren, ist es notwendig, ein Paneel darin zu platzieren und die gewünschte Anzahl von Steuerelementen an das Paneel anzuhängen. Der Container blättert also durch das Panel, und letzteres verschiebt seinen Inhalt beim Blättern.

Daher müssen wir zusätzlich zu den drei angegebenen Hauptsteuerelementen Klassen für die Erstellung von Bildlaufleisten erstellen – die Daumen-Klasse (Thumb) und die Scrollbar-Klasse (ScrollBar). Es wird zwei solcher Klassen geben – für vertikale und horizontale Bildlaufleisten.

Kompilieren qir den Indikator und lassen ihn auf dem Chart laufen:


Das Umschalten auf Vollbild beim Klicken auf einen Track funktioniert, das Umschalten beim Klicken auf Schaltflächen funktioniert, die automatische Ereigniswiederholung beim Halten von Schaltflächen funktioniert, das Scrollen mit dem Rad funktioniert.


Autor: Artyom Trishkin