Wir können die Platzierung von Objekten im Diagramm nicht mehr "vertikal" steuern.

 

Die letzte, fast schon skandalöse Diskussion über das Problem der Formatierung des Quellcodes endete damit, dass die Entwickler das "Recht" der Programmierer anerkannten, Programme so zu schreiben, wie sie wollen (und nicht, wie sie denken), und versprachen, die Einstellungen für die Formatierung des Quellcodes endgültig zu ändern.

Jetzt bin ich auf eine ähnliche Situation gestoßen, und wieder möchte ich die Meinung derer einholen, für die sie MQL5 entwickeln.

Beginnen Sie hier. Kurz gesagt, die Geschichte ist wie folgt: Objekte in MQL5 werden in der Reihenfolge ihrer Erstellung in einem Diagramm platziert. Das erste erstellte Objekt ist das niedrigste. Wenn Sie es versehentlich im Code oder durch einen Benutzer löschen, gibt es keine andere Möglichkeit, es wieder abzulegen (außer die verbleibenden Objekte zu löschen und sie in der richtigen Reihenfolge neu zu erstellen). Das offensichtlichste Beispiel: Sie haben ein Substrat erstellt, auf dem Sie Texte, Eingabefelder und Schaltflächen platzieren. Wenn Sie es nun löschen und neu erstellen, wird es alles abdecken, was Sie als neuestes sehen möchten.

Ich habe mich mit einem Vorschlag an den Service Desk gewandt.

необходимо предусмотреть механизмы произвольной сортировки объектов "по вертикали". Либо наличием свойства Zorder у каждого объекта, либо функциями BringToFront, SendToBack, InFrontOf, BehindOf. Ну или хотябы сделайте так же как было в 4-ке - по имени объекта, т.к. к такому поведению объектов все уже привыкли и ожидают что в 5-ке будет также.

Ich habe es sofort auf.... bekommen.

Anton Timofeev 2010.05.27 12:27
Die aktuelle Ziehungsreihenfolge-Regel ist einfach und ausreichend für die Ziehungssteuerung. Die Sortierung nach Namen bietet in einigen Fällen eine flexiblere Kontrolle über die Rendering-Reihenfolge - eine einfache Lösung für die in diesem Forum beschriebene Aufgabe (kleiner Nachteil), zwingt aber alle Benutzer dazu, den Namen sorgfältig zu prüfen, wenn sie ein Objekt hinzufügen (auch nicht-MQL) (großer Nachteil).
Die Rendering-Reihenfolge beim Objekt-Overlay in MT5 wird in der Praxis bereits verwendet (Hintergrund, Buttons, etc.). Ich habe mich nicht über Probleme beschwert - alles wird ganz einfach algorithmisch gelöst.

wer hätte daran gezweifelt, dass es für sie sozusagen eine "einfache und ausreichende Lösung zur Kontrolle des Renderings" ist?! :))))

zu meinem Kommentar:

ForexTools:

Nur weil sich andere nicht beschwert haben, heißt das nicht, dass es kein Problem gibt, vielleicht weil sich niemand mit der Schnittstelle befasst hat ;)

antwortete


Herumlungern:

https://www.mql5.com/ru/articles/64

https://www.mql5.com/ru/articles/65

https://www.mql5.com/ru/code/68

Wir haben eine Menge interner Tests durchgeführt, wir haben Schnittstellen und Spiele entwickelt. Es gibt kein Problem mit der Rendering-Reihenfolge an sich, Sie müssen nur Ihre Herangehensweise mit Blick auf die Reihenfolge ändern.

Guter Punkt: Ich habe Spiele wie Tetris und Miner benutzt, um die Lösungen für zukünftige Handelsschnittstellen zu verfeinern :)))

Und das Fazit ist ihr Urteil:

Oben habe ich ausführlich dargelegt, warum wir keine Änderungen vornehmen werden. Ich wiederhole es kurz: Um der Bequemlichkeit in einem bestimmten Fall willen kann man nicht allen anderen das Leben schwer machen.

Wenn es in F4 zumindest eine gewisse Ordnung der Lage der Diagrammobjekte (nach Objektnamen) gab, haben wir in 5 ein selbstgezogenes Kartenspiel gemacht und vorgeschlagen, dass wir "unseren Ansatz ändern", um MQL5-Programme zu schreiben.


TOTAL: Was denken die anderen Programmierer? Brauchen Sie einen Mechanismus, um die vertikale Platzierung von Objekten zu steuern? Ich habe drei Optionen vorgeschlagen:

1) alt - nach Namen von Objekten

2) normal - mit Hinzufügen der Eigenschaft Z-Reihenfolge zu jedem Objekt des Diagramms

3) prozedural - mit den Funktionen BringToFront, SendToBack, InFrontOf, BehindOf

oder die einzige Option der Entwickler akzeptieren: im Falle einer Löschung vollständige Neuzeichnung aller (!!!!) Objekte in der gewünschten Reihenfolge.

Wer hat eine Meinung dazu?


 
2)
 
Das verstehe ich nicht ganz. In MT5 sind die grafischen Objekte nicht nach dem Objektnamen, sondern nach dem Zeitpunkt der Erstellung geordnet?
 
Integer >>:
Не совсем понял. В МТ5 графические объекты в глубину располагаются не по имени объекта а по времени создания?
Genau, hier gibt es ein einfaches Skript zur Überprüfung
 

.

Ich bin für 2) oder zumindest für 1)

Und die verfahrenstechnische, wer weiß?


Ich schlage auch meine eigene Variante vor

alle zugunsten von kaskadierenden Stylesheets!!!!!

ja, du hast in mkl5 eine Menge "toller"

 

2)

Die Tatsache, dass die Reihenfolge der Objekte durch den Zeitpunkt der Erstellung bestimmt wird, ist allenfalls ein Nachteil für die Zuordnung.

eindeutig - das ist ein Versehen und ein Ignorieren des Problems von Seiten der Meta-Zitate.

Schließlich hat der Programmierer bei der Sortierung nach Namen zumindest eine gewisse Möglichkeit, nach eigenem Ermessen zu sortieren,

und mit dem Erstellungsdatum ist auch diese Möglichkeit dahin.

Sie sollten eine 1 oder besser eine 2 zurückgeben. Damit würde dem Objekt lediglich eine weitere praktische Eigenschaft hinzugefügt.

 

Bei der Z-Koordinate ist das natürlich ganz im Sinne von OOP.
Ich bin für 2).

 
Ich bin für z-order/z-index
 

2) - Beste Wahl.

 

1. Man kann natürlich über undokumentierte Funktionen diskutieren. Und das ist schon viele Male geschehen. Aber um Lösungen zu finden. Nicht um undokumentiertes Verhalten zu ändern.

2. Wir hatten viel mehr Anfragen (mehr als Teilnehmer an dieser Diskussion), die Art und Weise zu ändern, wie Objekte gerendert werden. Ja, in Five haben wir eine einfache und natürliche Reihenfolge nach dem Zeitpunkt der Objekterstellung festgelegt (dies ist jedoch ebenfalls nicht dokumentiert). Was sollen wir jetzt tun?

3. wir tun nichts! Denn mit der aktuellen Sortierung können wir eine Gruppe von Objekten einfach neu erstellen, was mit der Sortierung nach Namen nicht möglich war.

 

stringo писал(а) >>

Wie bei der aktuellen Sortierung können Sie eine Gruppe von Objekten einfach neu erstellen, was bei der Sortierung nach Namen nicht möglich war.

Wenn der Benutzer ein Objekt mit der Maus festhält, bricht die ganze Sache ab. Berücksichtigen Sie dies? Warum war es unmöglich?
Grund der Beschwerde: