Hola ... ¿hay una manera de abrir la ventana de diálogo utilizando esta versión de la biblioteca. La ventana de diálogo sólo funciona con el selector de color, y si trato de crear una vacía para insertar alguna tabla o botones adicionales, entonces no funciona en absoluto, sólo está encendida y no es móvil.
Por favor ayuda ..esta es una libreria absolutamente hermosa, y muchas gracias por compartirla pero este detalle esta reduciendo mucho la funcionalidad
si usamos una sola ventana todo esta bien solo que la ventana de dialogo no funciona correctamente, o esto era un plan desde el principio ??:)
PS
En caso de que me equivoque ¿hay algún ejemplo de cómo abrir una ventana de diálogo y tener un solo botón dentro o algo más (sólo que no selector de color)?
Hola ... ¿hay una manera de abrir la ventana de diálogo utilizando esta versión de la biblioteca. Ventana de diálogo está trabajando sólo con selector de color , y si trato de crear uno sólo vacío para insertar alguna tabla o botones adicionales a continuación, no está funcionando en absoluto, sólo está encendido y no es móvil .
Por favor, ayuda ... esta es una biblioteca absolutamente hermosa, y muchas gracias por compartir, pero este detalle está reduciendo mucho la funcionalidad.
si usamos una sola ventana todo esta bien solo la ventana de dialogo no funciona correctamente, o este era un plan desde el principio ??:)
PS
En caso de que me equivoque ¿hay algún ejemplo de cómo abrir una ventana de diálogo y tener un solo botón dentro o algo más (sólo que no selector de color)?
Estoy usando MT5
Hola Marcin, escriba su función para crear objetos (ventanas de diálogo incluido). Por ejemplo:
Primero, declara las ventanas de dialogo y otros controles(botones, cajas de texto, checkboxes y lo que sea) en el Program.mqh:
class CProgram : public CWndEvents
{
protected:
CWindow m_window;//ventana principal
CWindow s_window;//subventana de diálogo
CButton m_ibut1;
CButton m_ibut2;
CTextBox t_box1;
CCheckBox m_checkb1;
....
En el MainWindow.mqh:
//---función ventana principal:bool CProgram::CreateWindow(conststring caption_text)
{
//--- Añade el puntero de la ventana al array de ventanas
CWndContainer::AddWindow(m_window);
//--- Coordenadasint x=(m_window.X()>0) ? m_window.X() : 20;
int y=(m_window.Y()>0) ? m_window.Y() : 30;
//--- Propiedades
m_window.XSize(253);
m_window.YSize(350);
m_window.IsMovable(true);
m_window.Alpha(200);
m_window.IconXGap(3);
m_window.IconYGap(2);
m_window.WindowType(W_MAIN);
m_window.CloseButtonIsUsed(true);
m_window.CollapseButtonIsUsed(true);
m_window.TooltipsButtonIsUsed(false);
//--- Establecer la información sobre herramientas
m_window.GetCloseButtonPointer().Tooltip("Close");
m_window.GetCollapseButtonPointer().Tooltip("Collapse/Expand");
// m_window.GetTooltipButtonPointer().Tooltip("Tooltips");//--- Crear un formularioif(!m_window.CreateWindow(m_chart_id,m_subwin,caption_text,x,y))
return(false);
//---return(true);
}
//----para diálogo(subventana): bool CProgram::CreateSubWindow(CWindow &win,constint xSize,constint ySize,conststring caption_text)
{
//--- Añade el puntero de la ventana al array de ventanas
CWndContainer::AddWindow(win);
//--- Coordenadasint x=(win.X()>0) ? win.X() : 150;
int y=(win.Y()>0) ? win.Y() : 70;
//--- Propiedades
win.XSize(xSize);//350
win.YSize(ySize);//170
win.IsMovable(true);
win.Alpha(200);
win.IconXGap(3);
win.IconYGap(2);
win.WindowType(W_DIALOG);
win.CloseButtonIsUsed(true);
win.CollapseButtonIsUsed(true);
win.TooltipsButtonIsUsed(false);
// m_window.IconFile("\\Images\EasyAndFastGUI\Icons\bmp16\advisor.bmp");//--- Establecer la información sobre herramientas
win.GetCloseButtonPointer().Tooltip("Close");
win.GetCollapseButtonPointer().Tooltip("Collapse/Expand");
// m_window.GetTooltipButtonPointer().Tooltip("Tooltips");//--- Crear un formularioif(!win.CreateWindow(m_chart_id,m_subwin,caption_text,x,y))
return(false);
//---return(true);
}
Para otros controles(botones,textboxes..) usa el mainpoiner(ventana o pestaña) y el indice de la misma("windex" en mi caso) desde el principio:
bool CProgram::CreateTextBox(CTextBox &t_box,CWindow &win,constint windex,constint x_gap,constint y_gap,constint Xsize,constint Ysize,
string text,constuint line_index,constint fontSize,constbool mlinemode)
{
t_box.MainPointer(win);
//--- Propiedades
t_box.XSize(Xsize);
t_box.YSize(Ysize);
t_box.FontSize(fontSize);
t_box.Font("Calibri"); // Consolas|Calibri|Tahoma
t_box.TextYOffset(2);
t_box.TextXOffset(2);
t_box.BackColor(clrWhite);
t_box.BorderColor(C'150,170,180');
t_box.LabelColor(clrBlack);
t_box.WordWrapMode(true);
t_box.ReadOnlyMode(false);
t_box.IsCenterText(true);
t_box.MultiLineMode(mlinemode);
t_box.AutoYResizeBottomOffset(3);
t_box.AutoXResizeRightOffset(3);
t_box.AddText(line_index,text);
t_box.IsVisible(true);
//--- Adjuntar a la ficha// tab.AddToElementsArray(tindex,t_box);//--- Crear un controlif(!t_box.CreateTextBox(x_gap,y_gap))
return(false);
//--- Añade el objeto al array común de grupos de objetos
CWndContainer::AddToElementsArray(windex,t_box);
return(true);
}
//----------win botón--------bool CProgram::CreateIconButton(CButton &i_but,CWindow &win,constint windex,constint x_gap,constint y_gap,constint Xsize,constint Ysize,
string text, bool twostate,color bckclr)
{
//--- Almacenar el puntero al control principal
i_but.MainPointer(win);
//--- Propiedades
i_but.XSize(Xsize);
i_but.YSize(Ysize);
i_but.IconXGap(3);
i_but.IconYGap(3);
i_but.TwoState(twostate);
i_but.BackColor(bckclr);
i_but.BorderColor(clrBlack);
i_but.IsCenterText(true);
i_but.IsPressed(false);
if(i_but.TwoState()==true)
{i_but.BackColorPressed(bckclr);
i_but.BackColor(clrSilver);}
else
i_but.BackColor(bckclr);
//--- Adjuntar a la ficha// tab.AddToElementsArray(tindex,i_but);//--- Crear un controlif(!i_but.CreateButton(text,x_gap,y_gap))
return(false);
//--- Añade el puntero al control a la base
CWndContainer::AddToElementsArray(windex,i_but);
return(true);
}
//-----------tab button--------------bool CProgram::CreatetabIconButton(CButton &i_but,CTabs &tab,constint tindex,constint x_gap,constint y_gap,constint Xsize,constint Ysize,
string text, bool twostate,color bckclr)
{
//--- Almacenar el puntero al control principal
i_but.MainPointer(tab);
//--- Propiedades
i_but.XSize(Xsize);
i_but.YSize(Ysize);
i_but.IconXGap(3);
i_but.IconYGap(3);
i_but.TwoState(twostate);
i_but.BackColor(bckclr);
i_but.BorderColor(clrBlack);
i_but.IsCenterText(true);
i_but.IsPressed(false);
if(i_but.TwoState()==true)
{i_but.BackColorPressed(bckclr);
i_but.BackColor(clrSilver);}
else
i_but.BackColor(bckclr);
//--- Adjuntar a la ficha
tab.AddToElementsArray(tindex,i_but);
//--- Crear un controlif(!i_but.CreateButton(text,x_gap,y_gap))
return(false);
//--- Añade el puntero al control a la base
CWndContainer::AddToElementsArray(0,i_but);
return(true);
}
//----casillas de verificación----------bool CProgram::CreateCheckBox(CCheckBox &check,CWindow &win,constint windex,constint x_gap,constint y_gap,constint Xsize,constint Ysize,string text)
{
//--- Almacenar el puntero al control principal
check.MainPointer(win);
//--- Establecer propiedades antes de la creación
check.XSize(Xsize);
check.YSize(Ysize);
check.IsPressed(false);
//--- Crear un controlif(!check.CreateCheckBox(text,x_gap,y_gap))
return(false);
//--- Añade el objeto al array común de grupos de objetos
CWndContainer::AddToElementsArray(windex,check);
return(true);
}
Buenas tardes, compilada la build 15 de la libreria bajo mt4, creado un panel con tablas, pero las tablas parpadean periodicamente, bajo mt5 tambien he notado esto. Si no paso un parámetro al método, el parpadeo desaparece, pero los datos de la tabla no cambia. código de prueba adjunto en el archivo.
if(m_counter2.CheckTimeCounter())
{
SetValuesToTradeTable();
UpdateTradeTable(true);//--- Obtener los símbolos de las posiciones abiertasstring symbols_name[];
int symbols_total=GetPositionsSymbols(symbols_name);
//--- Actualizar valores en la tabla
SetValuesToPositionsTable(symbols_name);
//--- Ordenar si esto ya ha sido hecho por el usuario antes de la actualización//m_table_positions.SortData((uint)m_table_positions.IsSortedColumnIndex(),m_table_positions.IsSortDirection());//--- Actualizar tablaUpdatePositionsTable(true);
}
Hola Marcin, escribe tu función para crear objetos (ventanas de diálogo incluidas). Por ejemplo:
Primero, declara las ventanas de dialogo y otros controles(botones, cajas de texto,checkboxes y lo que sea) en el Program.mqh:
En el MainWindow.mqh:
..gracias por la respuesta ..solo para confirmar de que articulo descargaste la libreria ..mi progreso es de 1 paso adelante, pero todos los objetos vinculados con la ventana de dialogo no son arrastrables y no desaparecen correctamente ... Si usted podría enviarme también enlace al artículo o simplemente confirmar si el enlace de abajo es correcta :) .. ¿De dónde descargar su biblioteca
wow .. gracias por la respuesta .. sólo para confirmar de qué artículo se descarga la biblioteca ... mi progreso es de 1 paso adelante, pero todos los objetos vinculados con el cuadro de diálogo no son arrastrables y no desaparece correctamente ...... Si usted podría enviarme también el enlace al artículo o simplemente confirmar si el enlace de abajo es correcto :) ... ¿De dónde descargar su biblioteca?
Voy a seguir intentando que funcione :) tengo que no ver algún pequeño error en mi código :) ...gracias de nuevo
Hola Marcin, he descargado el EasyAndFastGUI Build 16 de https://www.mql5.com/es/articles/3527 luego sustituido actualizaciones: Table.mqh en MQL5\Include\EasyAndFastGUI\Controls\ y Keys.mqh
The first article Graphical Interfaces I: Preparation of the Library Structure (Chapter 1) explains in detail what this library is for. You will find a list of articles with links at the end of each chapter. There, you can also download a complete version of the library at the current stage of development. Files must be placed under the same...
Hola ... ¿hay una manera de abrir la ventana de diálogo utilizando esta versión de la biblioteca. La ventana de diálogo sólo funciona con el selector de color, y si trato de crear una vacía para insertar alguna tabla o botones adicionales, entonces no funciona en absoluto, sólo está encendida y no es móvil.
Por favor ayuda ..esta es una libreria absolutamente hermosa, y muchas gracias por compartirla pero este detalle esta reduciendo mucho la funcionalidad
si usamos una sola ventana todo esta bien solo que la ventana de dialogo no funciona correctamente, o esto era un plan desde el principio ??:)
PS
En caso de que me equivoque ¿hay algún ejemplo de cómo abrir una ventana de diálogo y tener un solo botón dentro o algo más (sólo que no selector de color)?
Estoy usando MT5
En la versión MT4 SimpleButton carece de la función para cambiar el texto del botón / título .
SimpleButton.mqh
Añadir la segunda línea con el fin de obtener esa funcionalidad. Publicado aquí la esperanza ayuda a alguien que necesita.
la biblioteca de este artículo es sólo para MT5 y si alguien le gustaría cambiar el texto :
lableClassDeclarationName.LabelText(textValue); lableClassDeclarationName.Update(true);¿Hay algún plan para un diseñador visual de formularios?
Anteriormente se pensó en ello, pero desgraciadamente aún no hay tiempo para ello.
Pronto saldrá una nueva versión de la librería. Será mucho más fácil y rápido crear GUI. Después de eso podemos tratar de crear un editor visual.
Hola ... ¿hay una manera de abrir la ventana de diálogo utilizando esta versión de la biblioteca. Ventana de diálogo está trabajando sólo con selector de color , y si trato de crear uno sólo vacío para insertar alguna tabla o botones adicionales a continuación, no está funcionando en absoluto, sólo está encendido y no es móvil .
Por favor, ayuda ... esta es una biblioteca absolutamente hermosa, y muchas gracias por compartir, pero este detalle está reduciendo mucho la funcionalidad.
si usamos una sola ventana todo esta bien solo la ventana de dialogo no funciona correctamente, o este era un plan desde el principio ??:)
PS
En caso de que me equivoque ¿hay algún ejemplo de cómo abrir una ventana de diálogo y tener un solo botón dentro o algo más (sólo que no selector de color)?
Estoy usando MT5
Hola Marcin, escriba su función para crear objetos (ventanas de diálogo incluido). Por ejemplo:
Primero, declara las ventanas de dialogo y otros controles(botones, cajas de texto, checkboxes y lo que sea) en el Program.mqh:
En el MainWindow.mqh:
Para otros controles(botones,textboxes..) usa el mainpoiner(ventana o pestaña) y el indice de la misma("windex" en mi caso) desde el principio:Ahora vuelve a Program.mqh: Crea los controles
Como puedes ver, usé pestañas en mi panel principal así que escribo otra función para el botón. Luego en la función OnEvent:
Compilar y cargar el EA. Mi EA usando la librería EasyAndFastGUI se ve así:
Buenas tardes, compilada la build 15 de la libreria bajo mt4, creado un panel con tablas, pero las tablas parpadean periodicamente, bajo mt5 tambien he notado esto. Si no paso un parámetro al método, el parpadeo desaparece, pero los datos de la tabla no cambia. código de prueba adjunto en el archivo.
Hola Marcin, escribe tu función para crear objetos (ventanas de diálogo incluidas). Por ejemplo:
Primero, declara las ventanas de dialogo y otros controles(botones, cajas de texto,checkboxes y lo que sea) en el Program.mqh:
En el MainWindow.mqh:
..gracias por la respuesta ..solo para confirmar de que articulo descargaste la libreria ..mi progreso es de 1 paso adelante, pero todos los objetos vinculados con la ventana de dialogo no son arrastrables y no desaparecen correctamente ... Si usted podría enviarme también enlace al artículo o simplemente confirmar si el enlace de abajo es correcta :) .. ¿De dónde descargar su biblioteca
https://www.mql5.com/es/code/19703
Voy a seguir tratando de tener que trabajar :) tengo que no ver algún pequeño error en mi código :) ... gracias de nuevo
He solucionado el parpadeo de la tabla, o más bien el problema desaparecía al escribir datos en una celda con el parámetro true
y llamando al método de actualización de la tabla sin el parámetro
wow .. gracias por la respuesta .. sólo para confirmar de qué artículo se descarga la biblioteca ... mi progreso es de 1 paso adelante, pero todos los objetos vinculados con el cuadro de diálogo no son arrastrables y no desaparece correctamente ...... Si usted podría enviarme también el enlace al artículo o simplemente confirmar si el enlace de abajo es correcto :) ... ¿De dónde descargar su biblioteca?
https://www.mql5.com/es/code/19703
Voy a seguir intentando que funcione :) tengo que no ver algún pequeño error en mi código :) ...gracias de nuevo
Hola Marcin, he descargado el EasyAndFastGUI Build 16 de https://www.mql5.com/es/articles/3527 luego sustituido actualizaciones: Table.mqh en MQL5\Include\EasyAndFastGUI\Controls\ y Keys.mqh
en MQL5IncludeEasyAndFastGUI del artículo: https: //www.mql5.com/en/articles/4715.
Recompilado la biblioteca, pero dice que la clase no se encuentra
la clase 'CWindow' no está definida Element.mqh