Diskussion zum Artikel "Grafische Interfaces V: Das Combobox Control (Kapitel 3)" - Seite 2

 
Evgeniy Scherbina:

Ich habe alles in den mql4-Ordner kopiert. Der TestLibrary Expert Advisor ist grau und lässt sich nicht öffnen. In Expert Advisors heißt es "Datei kann nicht geöffnet werden".

Funktioniert er im Testmodus? Ist es sinnvoll, zu untersuchen, warum er nicht startet, da es sehr wichtig ist, dass er im Testmodus funktioniert.

Im Visualisierungsmodus werden zwar Grafiken angezeigt, aber es gibt keine Interaktivität.
 
Artyom Trishkin:
Im Visualisierungsmodus werden zwar Grafiken angezeigt, aber es gibt keine Interaktivität.
Für mich ist das die Hauptsache. Ich habe eine Dropdown-Liste erstellt, die auf Klicks im Testmodus reagiert. Aber im Testmodus wird nichts hervorgehoben, wenn man mit der Maus über ein Element fährt. Im echten Handel ist alles in Ordnung. Es stellt sich heraus, dass nur das Ereignis ON_MOUSE_MOVE im Testmodus nicht funktioniert.
 
Anatoli Kazharski:

Die Bibliothek Version für MT4 ist nicht mehr von mir unterstützt.

Was ist die neueste Version der Bibliothek, die in MT4 funktioniert?

----------

Wie kann man die Anzahl der Punkte, die Anzahl der angezeigten Punkte und deren Werte NACH der Erstellung ändern? z.B. waren es 3 (Anzeige 3), jetzt sind es 4 (Anzeige 4).

   if(id==CHARTEVENT_CUSTOM+...){ 

         m_combobox_sm.ItemsTotal(4);

         m_combobox_sm.VisibleItemsTotal(4);

         string items_text[4]={"FALSE","item 1.0","item 2.0","item 3.0"};

         for(int i=0; i<4; i++){m_combobox_sm.ValueToList(i,items_text[i]);}

   }

 
Pavel Kolchin:

Was ist die neueste Version der Bibliothek, die in MT4 funktioniert?

Die neueste Version für MT4 finden Sie in diesem Artikel: GUIs X: Updates für Easy And Fast Library (build 3).

Wie kann man die Anzahl der Punkte, die Anzahl der angezeigten Punkte und deren Werte NACH der Erstellung ändern? z.B. 3 (Anzeige 3), 4 (Anzeige 4).

Diese Funktion ist in der neuesten Version der Bibliothek und nur für MT5: GUIs X: Advanced List and Table Management verfügbar . Code-Optimierung (Build 7)

 
Anatoli Kazharski:

Was denken Sie, wenn wir Version 10.3 betrachten - ist es möglich, in der Event-Handler zu löschen und erstellen Combobox mit neuen Parametern an der gleichen Stelle?

 
Pavel Kolchin:

Glauben Sie, dass es in der Version 10.3 möglich ist, eine Combobox mit neuen Parametern im Event-Handler zu löschen und an derselben Stelle neu zu erstellen?

Nein. Nicht einmal in der neuesten MT5-Version. Es ist nur in den Plänen für jetzt.
 
Pavel Kolchin:

Was ist die neueste Version der Bibliothek, die in MT4 funktioniert?

----------

...
Alle von ihnen (Versionen) arbeiten in MT4 mit geringfügigen Anpassungen.
 

Guten Tag.

//--- Gesamtzahl der Einträge in der Liste
#define  ITEMS_TOTAL1 8

Können Sie mir sagen, ob dies außer in dieser Funktion noch irgendwo anders verwendet wird?

Ich meine, wenn ich es am Ende einfüge.

#undef ITEMS_TOTAL1

hat das keine Auswirkung auf irgendetwas?

 

Wenn Sie eine Dropdown-Liste wie diese erstellen:

bool CProgram::CreateComboBox(CComboBox &combobox,const int x_gap,const int y_gap)

Wenn Sie eine deklarierte Variable in das erste Argument setzen, etwa so:

      if(!CreateComboBox(m_currency_box_1,25,25))
         return(false);

Scheint alles in Ordnung zu sein.

Aber sobald das erste Argument ein Array-Element ist, reagiert die gesamte Schnittstelle nicht mehr auf die Interaktion oder bleibt hängen, wenn die Dropdown-Liste angeklickt wird.

      if(!CreateComboBox(m_currency_box[0],25,25))
         return(false);
 
Alexander Fedosov:

Wenn Sie eine Dropdown-Liste wie diese erstellen:

Wenn Sie eine deklarierte Variable in das erste Argument setzen, zum Beispiel so:

Alles scheint in Ordnung zu sein.

Aber sobald das erste Argument ein Array-Element ist, reagiert die gesamte Schnittstelle nicht mehr auf die Interaktion oder bleibt beim Klicken auf die Dropdown-Liste hängen.

Hmmm... Es stürzt nicht ab, aber Schriftarten sind in einigen Schwierigkeiten, wenn es ein Array ist. Ich werde in der Freiheit herumstochern müssen)