Bibliotecas: EasyAndFastGUI - biblioteca para criar interfaces gráficas do usuário - página 28

 

Uma nova versão(v2.14) foi publicada:

  1. Adicionado o elemento TimeRanges para visualizar intervalos de negociação de tempo.
  2. Várias pequenas correções relatadas por usuários da biblioteca.
  3. Adicionados novos exemplos de interfaces gráficas.


 
Anatoli Kazharski #:

Nova versão publicada(v2.14)

Incorpore uma função semelhante.

// Visualização interativa da matriz como uma tabela GUI.
bool CreateTable( const matrix &Matrix, const string &ColNames[] )


Para que esse tipo de código conciso funcione.

#include <EasyAndFastGUI\Simple.mqh> // https://www.mql5.com/pt/code/19703

void OnInit()
{
  matrix Matrix;
  string ColNames[];
  
  CreateTable(Matrix, ColNames); // Função do Simple.mqh
}

EAF_SIMPLE // Essa macro do Simple.mqh contém um conjunto padrão de funções On para interatividade da GUI.


É uma espécie de análogo da abordagem GraphPlot, mas para matrizes e de forma interativa. O que está faltando são visualizações rápidas para diferentes tipos de dados, tão simples quanto possível em termos de sintaxe.

 
fxsaber #:

Inclua um recurso semelhante.

...

Para que esse código conciso funcione.

...

Fazer uma espécie de análogo da abordagem do GraphPlot, mas para matrizes e de forma interativa. O que está faltando são visualizações rápidas para diferentes tipos de dados, tão simples quanto possível em termos de sintaxe.

Obrigado pela sugestão interessante!

Adicionei-a à lista de tarefas. Discutiremos mais sobre o assunto quando eu estiver pronto para começar a trabalhar nele.

 

Uma nova versão(v2.15) foi publicada:

  • Dimensionamento automático da GUI, dependendo das configurações do seu sistema operacional(DPI).
  • Algumas pequenas correções de erros.

Como a segunda versão da biblioteca difere da primeira
.

  1. Todas as imagens dos elementos da GUI foram digitalizadas e agora você não precisa de uma pasta com imagens. Você pode fazer o download do arquivo de imagens da versão antiga se precisar de um conjunto personalizado de imagens para trabalhar.
  2. Melhoria significativa no processamento do fluxo de eventos. Na versão anterior, havia um atraso perceptível quando havia muitos itens. Agora tudo funciona muito rápido com qualquer número de elementos.
  3. Adicionada a capacidade de alterar o esquema de cores da GUI. Nesta versão, é possível alternar rapidamente entre temas claros e escuros durante o trabalho do aplicativo MQL já pronto.
  4. Foi integrado um novo elemento(C3DBase) da biblioteca padrão(CCanvas3D) para trabalhar com gráficos 3D.
  5. ElementoTimeRanges para visualização de intervalos de negociação de tempo.
  6. Modo de várias janelas. Agora você pode escolher entre a alternância livre e o modo modal.
  7. Dimensionamento automático da interface gráfica, dependendo das configurações do seu sistema operacional (DPI).
  8. Alteração da estrutura de pastas e arquivos da biblioteca. Agora todos os arquivos são categorizados.
  9. A segunda versão vem com uma versãopronta para MT4.
  10. Há métodos de criação rápida para todos os elementos. Quase todos os elementos com parâmetros padrão agora podem ser criados em apenas uma linha de código.

As capturas de tela abaixo mostram a diferença na escala de 100% e 125% (nas configurações do sistema operacional):

//---

As imagens estão em alta resolução. Portanto, mesmo em uma escala de 400%(8K UHD), elas terão uma ótima aparência.

 

Nova versão publicada(v2.15):

  • Dimensionamento automático da interface gráfica, dependendo das configurações do seu sistema operacional(DPI).
  • Várias pequenas correções.

Qual é a diferença entre a segunda versão da biblioteca e a primeira?

  1. Todas as imagens dos elementos da GUI foram digitalizadas e agora não há necessidade de uma pasta com imagens. Você pode fazer download do arquivo de imagens da versão antiga se precisar de um conjunto personalizado de imagens para trabalhar.
  2. Melhoria significativa no tratamento do fluxo de eventos. Na versão anterior, havia um atraso perceptível se houvesse muitos elementos. Agora tudo funciona muito rápido com qualquer número de elementos.
  3. Adicionada a capacidade de alterar o esquema de cores da GUI. Nesta versão, é possível alternar rapidamente entre temas claros e escuros enquanto um aplicativo MQL pronto estiver em execução.
  4. Integrado um novo elemento(C3DBase) da biblioteca padrão(CCanvas3D) para trabalhar com gráficos tridimensionais.
  5. O elemento TimeRanges para visualizar intervalos de negociação de tempo.
  6. Modo de várias janelas. Agora você pode escolher entre a alternância livre e o modo modal.
  7. Dimensionamento automático da interface gráfica, dependendo das configurações do seu sistema operacional(DPI).
  8. A estrutura de pastas e arquivos de biblioteca foi alterada. Agora todos os arquivos são categorizados.
  9. A segunda versão vem com uma versão MT4 pronta para uso.
  10. Todos os elementos têm métodos para criação rápida. Quase todos os elementos com parâmetros padrão agora podem ser criados em apenas uma linha de código.

As capturas de tela abaixo mostram a diferença na escala de 100% e 125% (nas configurações do sistema operacional):


//---

Imagens em alta resolução. Ou seja, mesmo em uma escala de 400%(8K UHD), elas terão uma ótima aparência.

 

Olá, Anatoli,

Obrigado pela atualização!!!

Por favor, você poderia compartilhar como usar essas imagens digitalizadas da GUI?

Para explicar esses EA,

Em quais recursos foram usados apontando para a pasta Imaga... Como isso poderia ser resolvido?


Obrigado!

 

Desculpe-me,

Estou vendo o exemplo do EAF 001,

Na versão 2.14, o explame tem o seguinte código



e na 2.15 ele tem o seguinte código

Portanto, estou entendendo que Images\\EasyAndFastGui\\\Icons foi alterado.

Quando atualizei para a nova versão 2.15, nenhuma pasta Image foi baixada.

Você poderia me ajudar?

Muito obrigado

 

Outro problema que tenho é que não consigo alterar o tamanho Y do botão quando estou trabalhando com um grupo de botões (funciona bem com um único botão).

V 2.14 Exemplo 001

//--- Grupo de botões 1

string text1[] = {"BUTTON 1", "BUTTON 2"};

CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);

m_buttons1.SelectButton(1);

m_buttons1.ButtonYSize(80); /Adicionado por mim!

Essa última linha de código não surtiu efeito.

Eu também tentei

m_buttons1.YSize(80)


Obrigado por sua ajuda!

 
Facundo Laje #:

...

Quando atualizei para a nova versão 2.15, nenhuma pasta Image foi baixada.

Você poderia me ajudar?

Muito obrigado

Para os usuários da biblioteca EasyAndFastGUI 2.0, envio um arquivo com imagens de alta resolução mediante solicitação em mensagens privadas.

Para os controles, elas não são necessárias, pois são digitalizadas e incorporadas ao código da biblioteca. Mas elas podem ser usadas em elementos personalizados, conforme mostrado nos exemplos de código que acompanham a biblioteca.

Enviarei a você um arquivo com imagens em mensagens privadas.

 
Facundo Laje #:

Outro problema que tenho é que não consigo alterar o tamanho Y do botão quando estou trabalhando com um grupo de botões (funciona bem com um único botão)

...

Obrigado por sua ajuda!

Obrigado pela mensagem!

A correção estará na próxima atualização.

Para que você mesmo possa fazer as alterações necessárias nesse arquivo:

MQL5\Include\EasyAndFastGUI\Core\Create\Include\Buttons\ButtonsGroup.mqh

remova esta linha (altura do botão padrão):

  //--- Propriedades do botão
  static void SetDefaultButtonParams(CButton &obj, const color label_clr, const color border_clr) {
    
    obj.YSize(20);
    obj.LabelColor(label_clr);
    obj.LabelColorHover(label_clr);
    obj.LabelColorPressed(label_clr);
    obj.BorderColor(border_clr);
    obj.BorderColorHover(border_clr);
    obj.BorderColorPressed(border_clr);
  }

//---

Em seguida, será possível definir a altura de todos os botões do grupo desta forma:

  //--- Grupo de botões 1
  string text1[] = {"BUTTON 1", "BUTTON 2"};
  m_buttons1.ButtonYSize(25);
  CCoreCreate::CreateButtonsGroup(m_buttons1, m_frame1, 0, 10, 40, text1);
  m_buttons1.SelectButton(1);