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

 
Hi,

Infelizmente, a versão 2.15 não está mais disponível no Market.
Existe alguma outra maneira de obter a versão atual (de preferência com o exemplo)?

Muito obrigado!
 
cabanossi #:
Hi,

Infelizmente, a versão 2.15 não está mais disponível no Market.
Existe alguma outra maneira de obter a versão atual (de preferência com o exemplo)?

Muito obrigado!

Olá, eu me juntei à pergunta. Também estou querendo obter a versão 2.00 ou anterior com exemplos. Obrigado.

 
Bom dia

Preciso de ajuda.
Como faço para obter o valor da data do calendário suspenso.

   CDropCalendar     m_dateExpire;
//---
/---
//---GUI reate
   if(!CWndCreate::CreateDropCalendar(m_dateExpire, "", m_window, 0, 7, 200, 93, TimeCurrent()))
      return(false);


datetime CProgram::GetExpireDate()//Esta é a função que eu quero corrigir 
{
 datetime monthdate = m_dateExpire.???;
 printf("Time: %s",TimeToString(monthdate));
return monthdate;
}
 
Jefferson Judge Metha #:
Bom dia

Preciso de ajuda.
Como faço para obter o valor da data do calendário suspenso.

Encontrei

   datetime monthdate =(datetime)m_dateExpire.GetTextEditPointer().GetValue();
 

Parece que, entre 2016 e 2019, você parou de usar botões arredondados, como visto nas interfaces gráficas X: Atualizações para a biblioteca Easy And Fast (Build 2) - Artigos MQL5.

Estou comparando o CButton daquela época com a versão mais recente para saber o que mudou. Teria sido incrível se esse fosse o padrão ou se tivesse seu próprio CRoundedButton, como visto abaixo.

Fig. 1. Exemplo de interface gráfica com o esquema de cores padrão em um fundo claro


Sinceramente, é realmente mais fácil trabalhar com essa biblioteca do que com o CCharts nativo.

Parabéns

Graphical Interfaces X: Updates for Easy And Fast Library (Build 2)
Graphical Interfaces X: Updates for Easy And Fast Library (Build 2)
  • www.mql5.com
Since the publication of the previous article in the series, Easy And Fast library has received some new features. The library structure and code have been partially optimized slightly reducing CPU load. Some recurring methods in many control classes have been moved to the CElement base class.
 

Autor, saudações,
e em sua Biblioteca - você tem funções como na tela:
(essa funcionalidade está começando a entrar na moda, por isso estou interessado:)).


 
Vitaliy Kostrubko #:

Autor, saudações,
e em sua Biblioteca - você tem funções como na tela:
(essa funcionalidade está começando a entrar na moda, por isso estou interessado:)).

Na versão que está agora na base de código, não há esses elementos. Mas desenvolvi esse módulo para uma equipe de pessoas que pensam como eu e com quem estou trabalhando agora.

Decidiu-se criar uma biblioteca separada para criar essas linhas.


 

Olá, Anatoli,

Ao tentar algo como Ctrl-Click na tabela, deparei-me com o código CMouse:

Essa linha parece não ser suficiente para obter o botão esquerdo do mouse (consulte a ajuda do MQL para CHARTEVENT_MOUSE_MOVE):

bool m_left_button_state =(bool)int(sparam);


Como tentei com um programa curto, ele mostra que a variável m_left_button_state será verdadeira para todos os int(sparam) >0.

Portanto, o botão direito do mouse e até mesmo as teclas especiais Ctrl e Shift fazem com que essa var = true.

Ela deve ser um pouco menor que 1. Como fiz com a tecla Ctrl no código a seguir.


Espero que não tenha me escapado nada e que isso ajude.

E mais: obrigado por sua excelente Lib!

if(id==CHARTEVENT_MOUSE_MOVE) {
    
      bool ctrl = ((((uint)sparam) & 8)== 8)?true:false; // tecla ctrl

      //--- Coordenadas e o estado do botão esquerdo do mouse
      int m_x                 =(int)lparam;
      int m_y                 =(int)dparam;
      bool m_left_button_state =(bool)int(sparam);

      Print("m_left_button_state ", m_left_button_state, " --- ", int(sparam));   
 
Oi pessoal+

Acabei de ver que não há opção de baixar a nova biblioteca por meio da loja (é uma pena que seja assim,,,, Entendo os motivos que Anatoli Kazharski explicou)

Qual é a outra maneira de fazer o download? Ou que artigos falam sobre a implementação de algum de seus recursos?

Gostaria de aproveitar esta oportunidade para agradecer a Anatoli Kazharski pelo trabalho que ele fez aqui.
 

Por que digitar void?

//+------------------------------------------------------------------+
//| Проверка расположения курсора мыши над элементом |
//+------------------------------------------------------------------+
void CElementBase::CheckMouseFocus(void)
  {
   m_mouse_focus=m_mouse.X()>X() && m_mouse.X()<=X2() && m_mouse.Y()>Y() && m_mouse.Y()<=Y2();
  }
//+------------------------------------------------------------------+
//| Проверка пересечения границ элемента|
//+------------------------------------------------------------------+
bool CElementBase::CheckCrossingBorder(void)