Buttons & Textfelder im mt4 Chart jetzt möglich - Seite 4

 

Ich habe tbIsChecked versucht, aber es funktioniert nicht. Ich habe 2 Kontrollkästchen. Ich möchte die Markierung von DayTradechk aufheben, wenn SwingTradechk markiert ist und umgekehrt.

if(tbIsChecked(SwingTradechk)) {tbSetChecked(DayTradechk, false);}
else {tbSetChecked(SwingTradechk, false);}

Wo liegt das Problem in meinem Code?

 

Gut Afton Ich verstehe nichts über das Programmieren. Kann mir jemand erklären, wie man Buttons und Textfelder im mt4 Chart Schritt für Schritt einrichten kann?

Vielen Dank im Voraus

 
Ghost: dieser fehler wurde in der neuesten mt4gui version bereits behoben. ich werde die website morgen damit aktualisieren. die neueste mt4gui hat einige unterschiede, die ich hier erklären muss.
 

Hier ist das Update auf die neueste Version 0.1.08 (das ist v0.8):

Die wichtigsten Änderungen sind, dass die Definition der Funktionen um hwnd als ersten Parameter erweitert wurde, Farben werden bei allen Objekten (Text, Label, Button, Checkbox, Liste) unterstützt. Außerdem wurde der tbSetChecked Fehler behoben. Aufgrund vieler Fragen haben wir alle Beispieldateien und deren Abhängigkeiten (libtrade.mqh und libvisual.mqh) in eine .zip-Datei aufgenommen.

Hier ist die neueste Definition:

#import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor(int,int,int); // hwnd,object,bgcolor
   int tbSetTextColor(int,int,int); // hwnd,object,color
   
   // removing objects
   int tbRemove(int,int);  // hwnd,handle
   int tbRemoveAll(int); // hwnd
   
   // events
   bool tbIsClicked( int,int ); // hwnd,object
   bool tbIsChecked(int,int); // hwnd,object
   // properties
   int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname   
   string tbGetText(int,int); // hwnd,object   
   int tbSetChecked(int,int,bool); // hwnd,object,true|false      
   int tbEnable(int,int,int); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem(int,int,string); // hwnd,object,item
   int tbGetListSel(int,int); // hwnd,object
   int tbSetListSel(int,int,int); // hwnd,object,index
   
#import

Auch die Funktion tbPutObject wurde im Wiki http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI ausführlich beschrieben.
 

fx1.net:

- tbSetChecked funktioniert nicht, ich kann den Status der Checkbox in der Init-Funktion nicht auf checked setzen

- Wie kann ich erkennen, ob ein Objekt vorhanden ist oder nicht? Ich möchte die aktiven Trades als Checkboxen in den Chart einfügen, aber ich möchte die Objekte nicht immer wieder neu erstellen.

 
#import "mt4gui.dll"   
   string tbVersion();       
   
   // objects "button","checkbox","list","label","text"
   int tbPutObject(int,string,int,int,int,int,string); // hwnd,type,x,y,w,h,label   
   
   // colors
   int tbSetBgColor(int,int,int); // hwnd,object,bgcolor
   int tbSetTextColor(int,int,int); // hwnd,object,color
   
   // removing objects
   int tbRemove(int,int);  // hwnd,handle
   int tbRemoveAll(int); // hwnd
   
   // events
   bool tbIsClicked( int,int ); // hwnd,object
   bool tbIsChecked(int,int); // hwnd,object
   // properties
   int tbSetText(int,int,string,int,string); // hwnd,object,text,fontsize,fontname   
   string tbGetText(int,int); // hwnd,object   
   int tbSetChecked(int,int,int); // hwnd,object,0|1
   int tbEnable(int,int,int); // hwnd, object, 0|1   
   
   // listbox 
   int tbAddListItem(int,int,string); // hwnd,object,item
   int tbGetListSel(int,int); // hwnd,object
   int tbSetListSel(int,int,int); // hwnd,object,index
   


   // obj management
   int tbSetName(int,int,string); // hwnd,object,name
   string tbGetName(int,int); // hwnd,object
   int tbGetObjectsCount(int); // hwnd
   int tbGetByNum(int,int); // hwnd,pos
   int tbGetType(int,int); // hwnd,obj
   int tbGetByName(int,string); // hwnd,name
   
#import
Das ist eine neue Definition. Die aktuelle Version auf dem Server unterstützt das bereits. Siehe Obj-Verwaltungsfunktionen. tbSetChecked wurde aktualisiert und ist nun int,int,int und der dritte Parameter 0|1 definiert den Prüfstatus.
 

Hallo,

Wo kann ich die neueste Version finden? Auf Ihrer Homepage ist nur die Version 0.1.08 verfügbar.

 
fx1.net:
Das ist eine neue Definition. Die aktuelle Version auf dem Server unterstützt das bereits. Siehe obj management functions. tbSetChecked wurde aktualisiert, um int,int,int zu sein und der dritte Parameter 0|1 definiert den Prüfstatus.


Mit Ihren Schaltflächen, unglaubliches Add-on für MT4.

Was die Einstellung der Farben betrifft, so stelle ich fest, dass die Schaltflächen obligatorisch rechteckig sind, mit klassischen Fensterschattierungen/Rahmen.

Wird es in Zukunft möglich sein, diese Rahmenfarben zu ändern. Ich habe Schaltflächen mit Bildern als "Schrift", die rund sind, und würde die Schaltfläche "dahinter" gerne unsichtbar machen. Die Möglichkeit, die tbBGColor einzustellen, ist hilfreich, aber ob es auch möglich sein wird, die Randfarben tbBorderShadowColor und tbBorderHighlightColor einzustellen,

oder vielleicht ein Flag zum Aktivieren/Deaktivieren des "3D"-Rahmenaspekts (d.h. um eine flache Schaltfläche ohne sichtbare Kanten zu erstellen, wie ich erwähnt habe, und nur den Schrifttext/das Symbol als klickbare Komponente zu verwenden).

Ich danke Ihnen nochmals für Ihre Arbeit. Haben Sie gesagt, dass Sie dies in C++ erstellen? Ich wünschte, ich wäre gut genug, um es zu programmieren.

Jim Bentz.

 

Ja, ein solcher Code ist nur in einer einfachen Programmiersprache wie C++ und dem guten alten Windows-Mfc machbar. Wir entwickeln weiter an diesem Projekt, ich werde hier nicht alles posten.

tx an alle

 
Hallo!

wie macht man das Listenmenü? (Bildschirm am 21.05.2011 16:15 dieses Thema)

Wie geht das mit der Funktion:


string tbAddListItem(int hwnd,int object,string item)
string tbGetListSel(int hwnd,int object)
string tbSetListSel(int hwnd,int object,int index)
Listbox ("list") objektbezogene Funktionen

ein Beispiel bitte? Ich danke Ihnen.