Diskussion zum Artikel "Erstellen Ihrer eigenen grafischen Panels in MQL5" - Seite 2

 

Ich wollte alles studieren, sozusagen mit der Methode des Stocherns am Beispiel von Controls.mq5. Ich habe bereits versucht, den Namen der Schaltflächen zu ändern.

   if(!m_button2.Create(m_chart_id,m_name+"Button2222",m_subwin,x1,y1,x2,y2))
      return(false);
   if(!m_button2.Text("Buy"))
      return(false);

Ich habe versucht, die Ausgabe in m_Edit zu ändern, änderte #define BUTTON_WIDTH . Ich habe das Terminal neu geladen, Skripte im Navigator aktualisiert.

void CControlsDialog::OnClickButton3(void)
  {
   if(m_button3.Pressed())
      m_edit.Text(__FUNCTION__+"Test");
   else
      m_edit.Text(__FUNCTION__+"I td");

Aber nichts hilft. Bei verschiedenen Änderungen ändert sich die Ansicht des EA überhaupt nicht. Bitte sagen Sie mir, was das Problem ist

 
Vorschlag für die Zukunft... eine Klasse (Objekt) "Dropdown-Kalender" erstellen
 
thejobber:
Anregung für die Zukunft... Erstellen Sie eine Klasse (Objekt) "Dropdown-Kalender".

Es gibt bereits ein solches Objekt - CDatePicker, siehe in der Standardbibliothek

 
Kos:

es gibt bereits eine - CDatePicker, siehe in der Standardbibliothek.

Danke, den gibt es! Ich habe die Hilfe..... verfolgt. bis jetzt, jetzt werde ich auch in MQL5\Include\Controls schauen, aber ich werde lernen müssen, wie man es (ohne die Beschreibung in der Hilfe) richtig benutzt (( aber ich habe schon einige Klassen gelernt, ich hoffe, es wird von nun an einfacher sein...).
 
thejobber:
Danke, ja, das ist es! Ich habe die Hilfe benutzt, um mich zu orientieren..... bis jetzt, jetzt werde ich auch in MQL5/Include/controls schauen, aber ich werde lernen müssen, wie man es (ohne die Beschreibung in der Hilfe) richtig benutzt (( aber ich habe schon einige Klassen gemeistert, ich hoffe, es wird von nun an einfacher sein...).
Schauen Sie sich das Expert Advisor Beispiel an: ..\Experts\Examples\Controls\Controls\Controls.mq5
 

#property indicator_separate_window

Gibt es eine Möglichkeit, das Panel nicht von unten, sondern von links oder rechts oder von oben hervorzuheben?

gibt es eine Möglichkeit, das Ziehen des Panels zu verbieten? weil alles getan wird, es funktioniert genau wie beabsichtigt, aber wenn ich das Panel ziehen, die Elemente darin bewegen sich außerhalb des Panels, irgendwie gibt es keine Lust, mit diesem Problem umzugehen, ist es einfacher, das Ziehen des Panels zu verbieten )))

und im Allgemeinen, diese biblioteka (Panels), ist immer noch roh, manchmal alles funktioniert, wie es sollte, dann ohne etwas zu ändern, nach einiger Zeit, beginnen einige seltsame Störungen ... Ich verstehe, dass, um diese Probleme zu lösen, müssen Sie Besonderheiten mit Beispielen und Code... Ich werde nicht posten es für jetzt, weil ich die Hauptaufgabe, die ich für mich selbst gesetzt gelöst haben, dann, wenn ich denke, der Veröffentlichung auf dem Markt, werde ich posten specifics....

 

thejobber:

...ABER wenn ich ein Panel ziehe, bewegen sich die Elemente darin aus dem Panel heraus, irgendwie will ich mich mit diesem Problem nicht beschäftigen, es ist einfacher, das Ziehen des Panels zu verbieten ))

Wie im sowjetischen System - es ist einfacher, es zu verbieten :-))

Sie können hier nachsehen:

CDialog::Add ()

и

AppDialog:: Run()

 

natürlich beobachtet, gelesen.... Ich habe alles so gemacht, wie es dort steht)

nur gibt es keinen Parameter, der die Fähigkeit zum Ziehen und Ablegen von Tafeln steuert.

 

thejobber:

nur gibt es keinen Parameter, der die Möglichkeit des Ziehens und Ablegens von Bedienfeldern steuert.

Was ist der Zweck des Ziehens der Kontrolle?

Wie kommt es, dass es keinen solchen Parameter gibt? Und Handler DialogDragStart(), OnDialogDragProcess(), OnDialogDragEnd()?

 
Und wie füge ich wechselnde Schriftgrößen für Panel-Objekte zu diesem (zum Beispiel) Panel hinzu?