Olá... existe uma maneira de abrir a janela de diálogo usando essa versão da biblioteca. A janela de diálogo está funcionando apenas com o seletor de cores e, se eu tentar criar uma apenas vazia para inserir alguma tabela ou botões extras, ela não funcionará, apenas ficará ligada e não poderá ser movida.
Por favor, ajude... essa biblioteca é absolutamente linda, e muito obrigado por compartilhá-la, mas esse detalhe está reduzindo muito a funcionalidade
Se usarmos uma única janela, tudo estará bem, apenas a janela de diálogo não está funcionando corretamente, ou isso foi planejado desde o início??:)
PS
Caso eu esteja errado, há algum exemplo de como abrir uma janela de diálogo e ter um único botão dentro dela ou algo mais (não apenas um seletor de cores)?
Stanislav Korotky: Há algum plano para um designer de formulário visual?
Pensamos nisso anteriormente, mas infelizmente ainda não há tempo para isso.
Uma nova versão da biblioteca será lançada em breve. Será muito mais fácil e rápido criar a GUI. Depois disso, poderemos tentar criar um editor visual.
Olá... existe uma maneira de abrir a janela de diálogo usando essa versão da biblioteca. A janela de diálogo está funcionando apenas com o seletor de cores e, se eu tentar criar uma apenas vazia para inserir alguma tabela ou botões extras, ela não estará funcionando, apenas estará ligada e não será movida.
Por favor, ajude... essa biblioteca é absolutamente linda, e muito obrigado por compartilhá-la, mas esse detalhe está reduzindo muito a funcionalidade
Se usarmos uma única janela, tudo estará bem, apenas a janela de diálogo não está funcionando corretamente, ou isso foi planejado desde o início??:)
PS
Caso eu esteja errado, há algum exemplo de como abrir uma janela de diálogo e ter um único botão dentro dela ou algo mais (não apenas um seletor de cores)?
Estou usando o MT5
Olá, Marcin, escreva sua função para criar objetos (inclusive janelas de diálogo). Por exemplo:
Primeiro, declare as janelas de diálogo e outros controles (botões, caixas de texto, caixas de seleção e outros) em Program.mqh:
class CProgram : public CWndEvents
{
protected:
CWindow m_window;//janela principal
CWindow s_window;//subjanela de diálogo
CButton m_ibut1;
CButton m_ibut2;
CTextBox t_box1;
CCheckBox m_checkb1;
....
No MainWindow.mqh:
//--função da janela principal:bool CProgram::CreateWindow(conststring caption_text)
{
//--- Adicione o ponteiro da janela à matriz de janelas
CWndContainer::AddWindow(m_window);
//--- Coordenadasint x=(m_window.X()>0) ? m_window.X() : 20;
int y=(m_window.Y()>0) ? m_window.Y() : 30;
//--- Propriedades
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);
//--- Definir as dicas de ferramentas
m_window.GetCloseButtonPointer().Tooltip("Close");
m_window.GetCollapseButtonPointer().Tooltip("Collapse/Expand");
// m_window.GetTooltipButtonPointer().Tooltip("Tooltips");//--- Criando um formulárioif(!m_window.CreateWindow(m_chart_id,m_subwin,caption_text,x,y))
return(false);
//---return(true);
}
//----for dialog(subwindow): bool CProgram::CreateSubWindow(CWindow &win,constint xSize,constint ySize,conststring caption_text)
{
//--- Adicione o ponteiro da janela à matriz de janelas
CWndContainer::AddWindow(win);
//--- Coordenadasint x=(win.X()>0) ? win.X() : 150;
int y=(win.Y()>0) ? win.Y() : 70;
//--- Propriedades
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");//--- Definir as dicas de ferramentas
win.GetCloseButtonPointer().Tooltip("Close");
win.GetCollapseButtonPointer().Tooltip("Collapse/Expand");
// m_window.GetTooltipButtonPointer().Tooltip("Tooltips");//--- Criando um formulárioif(!win.CreateWindow(m_chart_id,m_subwin,caption_text,x,y))
return(false);
//---return(true);
}
Para outros controles (botões, caixas de texto...), use o ponteiro principal (janela ou guia) e o índice dele (no meu caso, "windex") desde o início:
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);
//--- Propriedades
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);
//--- Anexar à guia// tab.AddToElementsArray(tindex,t_box);//--- Criar um controleif(!t_box.CreateTextBox(x_gap,y_gap))
return(false);
//--- Adicione o objeto à matriz comum de grupos de objetos
CWndContainer::AddToElementsArray(windex,t_box);
return(true);
}
//----------win button--------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)
{
//--- Armazene o ponteiro para o controle principal
i_but.MainPointer(win);
//--- Propriedades
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);
//--- Anexar à guia// tab.AddToElementsArray(tindex,i_but);//--- Criar um controleif(!i_but.CreateButton(text,x_gap,y_gap))
return(false);
//--- Adicione o ponteiro do controle à 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)
{
//--- Armazene o ponteiro para o controle principal
i_but.MainPointer(tab);
//--- Propriedades
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);
//--- Anexar à guia
tab.AddToElementsArray(tindex,i_but);
//--- Criar um controleif(!i_but.CreateButton(text,x_gap,y_gap))
return(false);
//--- Adicione o ponteiro do controle à base
CWndContainer::AddToElementsArray(0,i_but);
return(true);
}
//----caixas de seleção----------bool CProgram::CreateCheckBox(CCheckBox &check,CWindow &win,constint windex,constint x_gap,constint y_gap,constint Xsize,constint Ysize,string text)
{
//--- Armazene o ponteiro para o controle principal
check.MainPointer(win);
//--- Definir propriedades antes da criação
check.XSize(Xsize);
check.YSize(Ysize);
check.IsPressed(false);
//--- Criar um controleif(!check.CreateCheckBox(text,x_gap,y_gap))
return(false);
//--- Adicione o objeto à matriz comum de grupos de objetos
CWndContainer::AddToElementsArray(windex,check);
return(true);
}
Boa tarde, compilei a compilação 15 da biblioteca no mt4, criei um painel com tabelas, mas as tabelas piscam periodicamente, no mt5 também notei isso. Se eu não passar um parâmetro para o método, a cintilação desaparece, mas os dados na tabela não mudam. código de teste anexado no arquivo.
if(m_counter2.CheckTimeCounter())
{
SetValuesToTradeTable();
UpdateTradeTable(true);//--- Obter os símbolos das posições abertasstring symbols_name[];
int symbols_total=GetPositionsSymbols(symbols_name);
//--- Atualizar valores na tabela
SetValuesToPositionsTable(symbols_name);
//--- Classifique se isso já foi feito pelo usuário antes da atualização//m_table_positions.SortData((uint)m_table_positions.IsSortedColumnIndex(),m_table_positions.IsSortDirection());//--- Atualizar a tabelaUpdatePositionsTable(true);
}
Olá, Marcin, escreva sua função para criar objetos (inclusive janelas de diálogo). Por exemplo:
Primeiro, declare as janelas de diálogo e outros controles (botões, caixas de texto, caixas de seleção e outros) no arquivo Program.mqh:
No arquivo MainWindow.mqh:
wow ...obrigado pela resposta ...só para confirmar de qual artigo você baixou a biblioteca ...meu progresso está um passo à frente, mas todos os objetos vinculados à caixa de diálogo não podem ser arrastados e não desaparecem corretamente .Se puder me enviar também o link do artigo ou apenas confirmar se o link abaixo está correto :) ... de onde você baixou a biblioteca
wow ..thank You for answer ..just to confirm from which article did You download the library ...my progress is 1 step forward, but all the object linked with dialog box are not draggable and not disappearing properly .Se puder me enviar também o link do artigo ou apenas confirmar se o link abaixo está correto :) ... de onde você baixou a biblioteca
Vou continuar tentando fazer com que funcione :) não posso ver nenhum pequeno erro no meu código :) ... obrigado novamente
Olá, Marcin, fiz o download do EasyAndFastGUI Build 16 em https://www.mql5.com/pt/articles/3527 e substituí as atualizações: Table.mqh em MQL5\Include\EasyAndFastGUI\Controls\ e 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...
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Olá... existe uma maneira de abrir a janela de diálogo usando essa versão da biblioteca. A janela de diálogo está funcionando apenas com o seletor de cores e, se eu tentar criar uma apenas vazia para inserir alguma tabela ou botões extras, ela não funcionará, apenas ficará ligada e não poderá ser movida.
Por favor, ajude... essa biblioteca é absolutamente linda, e muito obrigado por compartilhá-la, mas esse detalhe está reduzindo muito a funcionalidade
Se usarmos uma única janela, tudo estará bem, apenas a janela de diálogo não está funcionando corretamente, ou isso foi planejado desde o início??:)
PS
Caso eu esteja errado, há algum exemplo de como abrir uma janela de diálogo e ter um único botão dentro dela ou algo mais (não apenas um seletor de cores)?
Estou usando o MT5
Na versão MT4, o SimpleButton não tem a função de alterar o texto/capítulo do botão.
SimpleButton.mqh
Adicione a segunda linha para obter essa funcionalidade. Espero que este post ajude alguém que precise.
A biblioteca deste artigo é apenas para o MT5 e, se alguém quiser alterar o texto, pode usar a biblioteca para o MT5:
lableClassDeclarationName.LabelText(textValue); lableClassDeclarationName.Update(true);Há algum plano para um designer de formulário visual?
Pensamos nisso anteriormente, mas infelizmente ainda não há tempo para isso.
Uma nova versão da biblioteca será lançada em breve. Será muito mais fácil e rápido criar a GUI. Depois disso, poderemos tentar criar um editor visual.
Olá... existe uma maneira de abrir a janela de diálogo usando essa versão da biblioteca. A janela de diálogo está funcionando apenas com o seletor de cores e, se eu tentar criar uma apenas vazia para inserir alguma tabela ou botões extras, ela não estará funcionando, apenas estará ligada e não será movida.
Por favor, ajude... essa biblioteca é absolutamente linda, e muito obrigado por compartilhá-la, mas esse detalhe está reduzindo muito a funcionalidade
Se usarmos uma única janela, tudo estará bem, apenas a janela de diálogo não está funcionando corretamente, ou isso foi planejado desde o início??:)
PS
Caso eu esteja errado, há algum exemplo de como abrir uma janela de diálogo e ter um único botão dentro dela ou algo mais (não apenas um seletor de cores)?
Estou usando o MT5
Olá, Marcin, escreva sua função para criar objetos (inclusive janelas de diálogo). Por exemplo:
Primeiro, declare as janelas de diálogo e outros controles (botões, caixas de texto, caixas de seleção e outros) em Program.mqh:
No MainWindow.mqh:
Boa tarde, compilei a compilação 15 da biblioteca no mt4, criei um painel com tabelas, mas as tabelas piscam periodicamente, no mt5 também notei isso. Se eu não passar um parâmetro para o método, a cintilação desaparece, mas os dados na tabela não mudam. código de teste anexado no arquivo.
Olá, Marcin, escreva sua função para criar objetos (inclusive janelas de diálogo). Por exemplo:
Primeiro, declare as janelas de diálogo e outros controles (botões, caixas de texto, caixas de seleção e outros) no arquivo Program.mqh:
No arquivo MainWindow.mqh:
wow ...obrigado pela resposta ...só para confirmar de qual artigo você baixou a biblioteca ...meu progresso está um passo à frente, mas todos os objetos vinculados à caixa de diálogo não podem ser arrastados e não desaparecem corretamente .Se puder me enviar também o link do artigo ou apenas confirmar se o link abaixo está correto :) ... de onde você baixou a biblioteca
https://www.mql5.com/pt/code/19703
Continuarei tentando fazer com que ela funcione :) não posso ver nenhum pequeno erro no meu código :) ... obrigado novamente
Resolvi o problema da cintilação da tabela, ou melhor, o problema desapareceu ao gravar dados em uma célula com o parâmetro true
e chamando o método de atualização da tabela sem o parâmetro
wow ..thank You for answer ..just to confirm from which article did You download the library ...my progress is 1 step forward, but all the object linked with dialog box are not draggable and not disappearing properly .Se puder me enviar também o link do artigo ou apenas confirmar se o link abaixo está correto :) ... de onde você baixou a biblioteca
https://www.mql5.com/pt/code/19703
Vou continuar tentando fazer com que funcione :) não posso ver nenhum pequeno erro no meu código :) ... obrigado novamente
Olá, Marcin, fiz o download do EasyAndFastGUI Build 16 em https://www.mql5.com/pt/articles/3527 e substituí as atualizações: Table.mqh em MQL5\Include\EasyAndFastGUI\Controls\ e Keys.mqh
em MQL5\Include\EasyAndFastGUI\ do artigo: https: //www.mql5.com/en/articles/4715.
Recompilado a biblioteca, ele diz que a classe não foi encontrada
A classe 'CWindow' não está definida Element.mqh