Bibliotheken: Die Bibliothek EasyAndFastGUI zum Erstellen von grafischen Interfaces - Seite 16

 
Alexander Fedosov:

Die Bibliothek wurde neu kompiliert, aber die Klasse wird nicht gefunden.

Klasse 'CWindow' ist undefiniert Element.mqh

Projekte aus der Hauptprogrammdatei (*.mq5) kompilieren.

 


Kannst du mir bitte sagen, wie ich das Problem beheben kann, wenn die Panels bei hoher DPI ganz durcheinander sind?

 
Eine sehr gute Bibliothek, mit der man eine Tabelle erstellen kann, die die Marktdaten im Ontick- oder Ontime-Ereignis anzeigt, wobei die Logik von den Benutzern auf der Grundlage der Datenanalyse erstellt wird. In meinem Beispiel fehlt nur die Möglichkeit, ein Bearbeitungsobjekt einzubinden, um die Anzahl der Aufträge einzugeben, die auf dem Markt ausgeführt werden sollen.Marktdaten werden in einer Tabelle angezeigt
 
Können Sie mir bitte sagen, wie ich die Ausrichtung am rechten Rand im Eingabefeld von TextEdit vornehmen kann? In früheren Versionen in SpinEdit gab es eine Möglichkeit der Ausrichtung, aber in TextEdit gibt es keine solche Möglichkeit.
 
lovaK:
Können Sie mir bitte sagen, wie ich die Ausrichtung am rechten Rand im Eingabefeld von TextEdit vornehmen kann? In früheren Versionen in SpinEdit gab es eine Möglichkeit der Ausrichtung, aber in TextEdit gibt es keine solche Möglichkeit.

Jeder Text wird mit der Methode CElement::DrawText(void) gezeichnet, er hat nur entweder links oder mittig.

Es ist notwendig, ihn selbst hinzuzufügen. Etwa so:

   if(m_is_center_text)
     {
      x =m_x_size>>1;
      y =m_y_size>>1;
      m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER);
     }
   else
     {
      switch(m_text_align)
        {
         case 0: m_canvas.TextOut(x+m_hor_space,         y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_LEFT|TA_TOP);       break;  // AT_LEFT_TOP
         case 1: m_canvas.TextOut((int)round(m_x_size/2),y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_CENTER|TA_TOP);     break;  // AT_CENTER_TOP
         case 2: m_canvas.TextOut(m_x_size-m_hor_space,  y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_TOP);      break;  // AT_RIGHT_TOP
         case 3: m_canvas.TextOut(x+m_hor_space,         (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_LEFT|TA_VCENTER);   break;  // AT_LEFT_CENTER
         case 4: m_canvas.TextOut(m_x_size>>1,           m_y_size>>1,           m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER); break;  // AT_CENTER_CENTER
         case 5: m_canvas.TextOut(m_x_size-m_hor_space,  (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_VCENTER);  break;  // AT_RIGHT_CENTER
         case 6: m_canvas.TextOut(x+m_hor_space,         m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_LEFT|TA_BOTTOM);    break;  // AT_LEFT_BOTTOM
         case 7: m_canvas.TextOut((int)round(m_x_size/2),m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_CENTER|TA_BOTTOM);  break;  // AT_CENTER_BOTTOM
         case 8: m_canvas.TextOut(m_x_size-m_hor_space,  m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_BOTTOM);   break;  // AT_RIGHT_BOTTOM
         default: m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_LEFT); break;
        }
     }
 
Oleksii Chepurnyi:

Sie müssen es selbst schreiben. Etwa so:

Danke, ich habe diesen Code von dir auf Seite 7 gesehen und ihn damals übernommen. Das Problem ist, dass mit Ihrem Zusatz perfekt ausgerichteten Text, zum Beispiel in das Feld Combobox, aber in das Eingabefeld TextEdit Text wird nicht durch diese Methode ausgerichtet, und bleibt am linken Rand ausgerichtet.
 
lovaK:
Danke, ich habe diesen Code auf Seite 7 gesehen und ihn seinerzeit übernommen. Das Problem ist, dass mit Ihrem Add-on der Text z.B. im Kombinationsfeld gut ausgerichtet wird, aber im TextEdit-Eingabefeld wird der Text mit dieser Methode nicht ausgerichtet, er bleibt am linken Rand ausgerichtet.

Ja, TextEdit musste sich nicht ausrichten :)

Der Text selbst zeichnet TextBox (m_edit), es sollte gedreht werden. Es gibt eine eigene Methode zum Zeichnen von Text, und soweit ich das verstehe, wird der Text asymbolisch gezeichnet.

Das erste, was mir einfällt, ist, die x-Koordinate in CTextBox::TextOut(void) zu ändern :)

 

Eine neue Version der Bibliothek ist veröffentlicht worden.

Sie können mehr darüber lesen, was hinzugefügt wurde in diesem Artikel: ZigZag ist alles im Kopf (Teil II). Beispiele für die Erfassung, Verarbeitung und Anzeige von Daten

Siehe den Abschnitt Expert Advisor zur Erfassung und Anzeige von Statistiken

 

Ich frage mich ständig, was noch fehlt. Und das sind die Vorlagen :) Super!

Hatte einen Blick, ich habe eine Frage: warum können wir nicht loszuwerden window_index in Parameter? Wir haben einen Zeiger auf das Hauptelement, sagen wir window index :)

 
Oleksii Chepurnyi:

...

Hatte einen Blick, es ist eine Frage: warum können wir nicht loswerden window_index in Parameter? Ich meine, wir haben einen Zeiger auf das Hauptelement, sagen wir window index :)

Ich weiß nicht mehr, warum. Wir sollten es noch einmal versuchen.