Bibliotheken: Class СBmpButtonTransparent

 

Class СBmpButtonTransparent:

Eine Klasse für einen transparenten Button.

Autor: Andrey Miguzov

[Gelöscht]  
Ich schaue mir den Code der CBmpButton-Klasse aus der Standard-MQL5-Bibliothek an und sehe die Ähnlichkeit. Ist das ein Zufall oder diente eine dieser Klassen als Prototyp?
 
Konstantin Karpov:
Ich schaue mir den Code der CBmpButton-Klasse aus der Standard-MQL5-Bibliothek an und sehe die Ähnlichkeit. Ist das ein Zufall oder diente eine dieser Klassen als Prototyp?
Ja, natürlich - CBmpButton wurde als Grundlage genommen. Und zu 90 Prozent überarbeitet :) Die übergeordnete Klasse CWndObj musste mit Hilfe der Vererbung ein wenig angepasst werden. Das geschah aus Gründen der Kompatibilität mit der Standardbibliothek.
[Gelöscht]  
Andrey Miguzov:
Ja, natürlich - CBmpButton wurde als Grundlage genommen. Und zu 90 Prozent überarbeitet :) Die übergeordnete Klasse CWndObj musste durch Vererbung leicht modifiziert werden. Dies geschah aus Gründen der Kompatibilität mit der Standardbibliothek.
Warum also werden die Entwickler diese Klasse nicht in ihre Standardbibliothek aufnehmen, denn die Klasse ist notwendig. Übrigens wäre es gut, eine vollständige Beschreibung ihrer Methoden zu bekommen, denn man muss in den Code einsteigen und die Methoden lesen, um zu erraten, wofür sie benötigt werden....
 
Konstantin Karpov:
Übrigens wäre es gut, eine vollständige Beschreibung der Methoden zu erhalten, denn man muss sich in den Code vertiefen und die Methoden lesen, um zu erraten, wofür sie benötigt werden....
Ich stimme zu. Ich werde sie hinzufügen, sobald ich Zeit habe.
[Gelöscht]  

Bevor Sie eine Beschreibung abgeben, sagen Sie mir bitte, welche Methode die Position eines grafischen Objekts im Diagramm ändert. Die Methode Top(aLocation) der Klasse CWnd ändert die Position nicht. Aber sie ändert die Klickposition, so wie es sein sollte, aber das grafische Objekt selbst bleibt an seinem Platz. Ich verstehe, dass es keine Bindung zwischen der Objektbeschriftung und dem Objekt selbst gibt? Oder ich verstehe etwas überhaupt nicht...

Im Allgemeinen habe ich es herausgefunden, in der Klasse CBmpButtonTransparent habe ich das Objekt m_button geöffnet und über seine Methode Y_Distance, genau wie in Top, eine neue Y-Koordinate eingegeben. Jetzt funktioniert alles.

 
Konstantin Karpov:

Bevor Sie eine Beschreibung abgeben, sagen Sie mir bitte, welche Methode die Position eines grafischen Objekts im Diagramm ändert. Die Methode Top(aLocation) der Klasse CWnd ändert die Position nicht. Aber sie ändert die Klickposition, so wie es sein sollte, aber das grafische Objekt selbst bleibt an seinem Platz. Ich verstehe, dass es keine Bindung zwischen der Objektbeschriftung und dem Objekt selbst gibt? Oder ich verstehe etwas überhaupt nicht...

Im Allgemeinen habe ich es herausgefunden, in der Klasse CBmpButtonTransparent habe ich das Objekt m_button geöffnet und über seine Methode Y_Distance, genau wie in Top, eine neue Y-Koordinate eingegeben. Jetzt funktioniert alles.

Nein - so kann man es nicht machen. Ich werde ein Beispiel finden und es hochladen. Ich habe während des Wettbewerbs selbst damit experimentiert :)

Es ist nur so, dass die move-Methode nicht zu meiner Klasse gehört - sie ist in der Standardbibliothek implementiert.

Legen Sie den Ordner mit seinem gesamten Inhalt in Experts ab.

In der Datei Profit_button finden Sie die Zeilen 139-143 und 155-159.

//Geld.Shift(0,-3);
//Button.Shift(x,0);

Money.Move(Money.Left(),Money.Top()-3);
Button.Move(Button.Left()+x,Button.Top());

Es funktioniert in beide Richtungen - je nach Zweck.

Bevor Sie den Expert Advisor starten, erweitern Sie das Fenster auf den vollen Bildschirm :)

Dateien:
Profit.zip  408 kb
[Gelöscht]  
Andrey Miguzov:

Nein, tun Sie das nicht. Ich werde ein Beispiel finden und es hochladen. Während des Wettbewerbs habe ich selbst damit experimentiert :)

Es ist nur so, dass die move-Methode nicht zu meiner Klasse gehört - sie ist in der Standardbibliothek implementiert.

Legen Sie den Ordner mit all seinen Inhalten in Experts.

In der Datei Profit_button finden Sie die Zeilen 139-143 und 155-159.

Es funktioniert in beide Richtungen - je nach Zweck.

Bevor Sie den Expert Advisor starten, erweitern Sie das Fenster auf den vollen Bildschirm :)

oops... :) und diese Methode hatte ich aus irgendeinem Grund übersehen, ich suchte und suchte überall in der Hilfe der Standardbibliothek und wie man so schön sagt, sah ich eine Abbildung :) oops... danke...
[Gelöscht]  
Andrey Miguzov:

Erweitern Sie das Fenster auf Vollbild, bevor Sie den Expert Advisor starten :)

Tolles Beispiel!