Pulsanti e campi di testo sul grafico mt4 ora possibili - pagina 4

 

Ho provato tbIsChecked ma non funziona. Ho 2 caselle di controllo. Vorrei deselezionare DayTradechk se SwingTradechk è selezionato e viceversa.

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

Qual è il problema nel mio codice?

 

Buon Afton Non capisco nulla di programmazione. Qualcuno può spiegarmi come fare Buttons & Text fields su mt4 chart possibile passo dopo passo?

Grazie in anticipo

 
Ghost: questo bug è stato risolto nell'ultima versione di mt4gui. domani aggiornerò il sito con questo. l'ultimo mt4gui ha diverse differenze che devo spiegare qui.
 

Ecco l'aggiornamento della versione più recente 0.1.08 (che è la v0.8):

I cambiamenti principali sono che la definizione delle funzioni è stata estesa con hwnd come primo parametro, i colori sono supportati con tutti gli oggetti (testo, etichetta, pulsante, checkbox, lista). Anche il bug tbSetChecked è stato risolto. A causa di molte domande abbiamo incluso tutti i file di esempio e le loro dipendenze (libtrade.mqh e libvisual.mqh) in un file .zip.

Ecco l'ultima definizione:

#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

anche la funzione tbPutObject è stata descritta in dettaglio nel wiki http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI
 

fx1.net:

- tbSetChecked non funziona, non posso impostare lo stato della checkbox su checked nella funzione init

- come posso rilevare se un oggetto esiste o no? Vorrei aggiungere le compravendite attive al grafico come caselle di controllo ma non voglio creare continuamente gli oggetti.

 
#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
Questa è la nuova definizione. La versione attuale sul server lo supporta già. Vedere le funzioni di gestione degli oggetti. tbSetChecked è stato aggiornato per essere int,int,int e il terzo parametro 0|1 definisce lo stato di controllo.
 

Salve,

Dove posso trovare l'ultima build? Solo la versione 0.1.08 è disponibile sulla tua homepage.

 
fx1.net:
Questa è la nuova definizione. La versione attuale sul server già la supporta. Vedi le funzioni di gestione degli oggetti. tbSetChecked è stato aggiornato per essere int,int,int e il terzo parametro 0|1 definisce lo stato di controllo.


Utilizzando i tuoi pulsanti, incredibile add-on per MT4.

Per quanto riguarda l'impostazione dei colori, ho notato che i pulsanti sono obbligatoriamente rettangolari, con le classiche ombreggiature/bordi delle finestre.

Sarà possibile in futuro cambiare i colori dei bordi. Ho dei pulsanti con immagini come "font" che sono rotondi, e vorrei rendere invisibile il pulsante "dietro". Essere in grado di impostare il tbBGColor è utile, ma se sarà possibile anche impostare i bordi tbBorderShadowColor e tbBorderHighlightColor,

o forse un flag per abilitare/disabilitare l'aspetto "3D" del bordo (cioè per fare un pulsante piatto senza bordi visibili, come ho detto, usando solo il testo/simbolo del font come componente cliccabile.

Grazie ancora per il tuo lavoro. Hai detto che lo stai creando in C++? Vorrei conoscerlo abbastanza bene per codificarlo.

Jim Bentz.

 

sì, tale codice è fattibile solo in un linguaggio di codifica di basso livello come il c++ e il buon vecchio windows mfc. continuiamo a sviluppare questo progetto, non pubblico tutto qui.

tx a tutti

 
Ciao,

come si fa il menu Elenco? (Schermo il 21.05.2011 16:15 questo thread)

Come si usa la funzione:


stringa tbAddListItem(int hwnd,int object,string item)
stringa tbGetListSel(int hwnd,int oggetto)
stringa tbSetListSel(int hwnd,int oggetto,int indice)
Funzioni relative all'oggetto Listbox ("lista")

qualche esempio per favore? Grazie.
Motivazione: