Botones y campos de texto en el gráfico de mt4 posible ahora - página 4

 

He probado tbIsChecked pero no funciona. Tengo 2 casillas de verificación. Me gustaría desmarcar DayTradechk si SwingTradechk está marcado y viceversa.

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

¿Cuál es el problema en mi código?

 

Buenas Afton no entiendo nada de programación. ¿Puede alguien explicarme cómo hacer Botones y campos de texto en el gráfico de mt4 posible paso a paso?

Gracias de antemano

 
Ghost: este error se ha solucionado en la última versión de mt4gui. mañana actualizaré el sitio web con él. mt4gui más reciente tiene varias diferencias que tengo que explicar aquí.
 

Aquí está la actualización de la última versión 0.1.08 (que es v0.8):

Los principales cambios son que la definición de las funciones se ha ampliado con hwnd como primer parámetro, los colores son compatibles con todos los objetos (texto, etiqueta, botón, casilla de verificación, lista). También se ha resuelto el error de tbSetChecked. Debido a muchas preguntas hemos incluido todos los archivos de ejemplo y sus dependencias (libtrade.mqh y libvisual.mqh) en un archivo .zip.

Aquí está la última definición:

#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

también la función tbPutObject ha sido descrita en detalle dentro de la wiki http://www.fx1.net/wiki/pmwiki.php/MT4GUI/MT4GUI
 

fx1.net:

- tbSetChecked no funciona, no puedo establecer el estado de la casilla de verificación a checked en la función init

- ¿Cómo puedo detectar si un objeto existe o no? Me gustaría añadir las operaciones activas al gráfico como casillas de verificación pero no quiero crear los objetos una y otra vez.

 
#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
Esa es la nueva definición. La versión actual en el servidor ya lo soporta. Ver funciones de gestión de objetos. tbSetChecked ha sido actualizado para ser int,int,int y el tercer parámetro 0|1 define el estado de comprobación.
 

Hola,

¿Dónde puedo encontrar la última versión? Sólo la versión 0.1.08 está disponible en su página web.

 
fx1.net:
Esa es la nueva definición. La versión actual en el servidor ya lo soporta. Ver funciones de gestión de objetos. tbSetChecked ha sido actualizado para ser int,int,int y el tercer parámetro 0|1 define el estado de comprobación.


Usando sus botones, increíble complemento para MT4.

En cuanto a la configuración de los colores, observo que los botones son obligatoriamente rectangulares, con el clásico sombreado/borde de las ventanas.

¿Será posible en el futuro cambiar los colores de los bordes? Tengo botones con imágenes como "fuente" que son redondos, y me gustaría hacer invisible el botón "detrás". Poder establecer el tbBGColor es útil, pero si será posible también establecer el tbBorderShadowColor del borde y el tbBorderHighlightColor,

o tal vez una bandera para activar / desactivar el aspecto "3D" de la frontera (es decir, para hacer un botón plano sin bordes visibles, como he mencionado, utilizando sólo el texto de la fuente / símbolo como el componente clickable.

Gracias de nuevo por su trabajo. ¿Has dicho que estás creando esto en C++? Ojalá lo conociera lo suficientemente bien como para codificar.

Jim Bentz.

 

Si, este tipo de código solo se puede hacer en un lenguaje de codificación de bajo nivel como c++ y el viejo mfc de windows. seguimos desarrollando este proyecto, no publico todo aquí.

tx a todos

 
Hola,

¿cómo se hace el menú de la lista? (Pantalla en 21.05.2011 16:15 este hilo)

Como es el uso de la función


string tbAddListItem(int hwnd,int object,string item)
string tbGetListSel(int hwnd,int object)
string tbSetListSel(int hwnd,int object,int index)
Funciones relacionadas con el objeto Listbox ("lista")

¿algún ejemplo por favor? Gracias.