Discussão do artigo "Interfaces Gráficas X: Caixa de Edição de Texto, Slider de Imagens e Controles Simples (build 5)" - página 2

 
maj:

Olá

Nos dois últimos artigos, não vemos arquivos mql4

Sei que o mt4 não suporta vários gráficos e essas coisas

mas você fará o upload de uma atualização para o mql4?

Refiro-me às funções mais recentes, como edição de texto e desempenho do mouse e da CPU.

A versão MT4 da biblioteca não será mais atualizada.
 
Anatoli Kazharski:
A versão MT4 da biblioteca não será mais atualizada.

Pressione para mudar para MQL5

 

Tol, desnecessário (ou algo faltando em vez de desnecessário) em TextEdit.mqh

//+------------------------------------------------------------------+
//| Cria um grupo de objetos de campo de entrada de texto
//+------------------------------------------------------------------+
bool CTextEdit::CreateTextEdit(const long chart_id,const int subwin,const string label_text,const int x,const int y)
  {
//--- Sair se não houver ponteiro para o formulário
   if(!CElement::CheckWindowPointer(::CheckPointer(m_wnd)))
      return(false);
//--- Inicialização de variáveis
   m_id          =m_wnd.LastId()+1;
   m_chart_id    =chart_id;
   m_subwin      =subwin;
   m_x           =x;
   m_y           =y;
   m_x_size      =(m_x_size<1 || m_auto_xresize_mode)? (m_anchor_right_window_side)? m_wnd.X2()+m_x-m_auto_xresize_right_offset : m_wnd.X2()-m_x-m_auto_xresize_right_offset : m_x_size;
   m_y_size      =m_edit_y_size;
   m_label_text  =label_text;
   m_area_color  =(m_area_color!=clrNONE)? m_area_color : m_wnd.WindowBgColor();
//--- Recuos a partir do ponto final
   CElement::XGap((m_anchor_right_window_side)? m_x : m_x-m_wnd.X());
   CElement::YGap((m_anchor_bottom_window_side)? m_y : m_y-m_wnd.Y());
//--- Criando um elemento
   if(!CreateArea())
      return(false);
   if(!CreateIcon())
      return(false);
   if(!CreateLabel())
      return(false);
   if(!CreateEdit())
      return(false);

   if(!CreateEdit())
      return(false);

   Print(__FUNCTION__," > CreateEdit()");
   if(!CreateTextSelectPointer())
      return(false);
//--- Ocultar item se a janela for uma caixa de diálogo ou estiver minimizada
   if(m_wnd.WindowType()==W_DIALOG || m_wnd.IsMinimized())
      Hide();
//---
   return(true);
  }
//+------------------------------------------------------------------+

E, de certa forma, é estranho poder usar um rótulo de texto para um campo de entrada, mas não poder definir sua fonte e tamanho. Talvez eu esteja procurando no lugar errado? Ou uma dica de como fazer isso sem entrar no código e sem adicionar seus próprios métodos.

 
Artyom Trishkin:

Tol, desnecessário (ou algo faltando em vez de desnecessário) em TextEdit.mqh

E, de certa forma, é estranho poder usar um rótulo de texto para um campo de entrada, mas não poder definir sua fonte e tamanho. Talvez eu esteja procurando no lugar errado? Ou me diga como fazer isso sem entrar no código e sem adicionar seus próprios métodos.

1. desnecessário, é claro. Você precisa excluí-lo.

2. Na próxima atualização, será possível que cada elemento defina sua própria fonte e seu tamanho.

Já estou trabalhando no próximo artigo. Provavelmente o publicaremos na próxima semana.

 
Anatoli Kazharski:

1. é redundante. Deve ser excluído.

2. Na próxima atualização, será possível que cada elemento defina sua própria fonte e seu tamanho.

Já estou trabalhando no próximo artigo. Provavelmente será publicado na próxima semana.

1. Eu o excluí há muito tempo - só tive tempo de perguntar - e se deveria haver outra coisa lá em vez do one.... excluído?

2. Ótimo, mas terei que excluir meus métodos novamente..., mas não importa... ;)

3. estou ansioso por isso.

 
Anatoli Kazharski:

1. é redundante. Deve ser excluído.

2. Na próxima atualização, será possível que cada elemento defina sua própria fonte e seu tamanho.

Já estou trabalhando no próximo artigo. Provavelmente será publicado na próxima semana.

Tol, o texto inserido no campo de entrada de texto ao alterar o período de tempo é novamente substituído por "Digite seu texto aqui". Como posso me livrar disso?

Essa construção não funciona (substituí seu texto padrão no construtor da classe por ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
 
Artyom Trishkin:

Tol, o texto inserido no campo de entrada de texto é novamente substituído por "Insira seu texto aqui" ao alterar o período de tempo. Como posso me livrar disso?

Essa construção não funciona (substituí seu texto padrão no construtor da classe por ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
Sim, é melhor deixar o padrão em branco por enquanto.
 
Yuriy Zaytsev:

Um impulso para mudar para MQL5

Sim, é melhor ouvir. )

Fórum sobre negociação, sistemas de negociação automatizados e testes de estratégias de negociação

Não é possível fazer o download do MT4

Renat Fatkhullin, 2016.11.30 17:32

Senhores, vocês achavam que nós, sendo o maior distribuidor da plataforma MT4 (mais instalações do que qualquer corretor), continuaríamos a fazer propaganda dela?

Vocês achavam que continuaríamos a bombear instalações da MT4 em todo o mundo gratuitamente e para o deleite daqueles que estão se gabando de "por que eu deveria deixar a MT4"?

Recomendo que você pense no futuro e mude o desenvolvimento para o Metatrader 5 mais rapidamente.

As mudanças no ecossistema são muito mais rápidas agora.


 
Olá! Esta é uma pergunta. Nas linguagens C, existem elementos como o TMemo, com transferência automática de texto para uma nova linha, e o habitual TEdit, no qual é possível inserir mais de 63 caracteres. É possível criar análogos do TMemo e do TEdit com a ajuda de seus desenvolvimentos? Entendo que 63 caracteres é uma limitação do próprio metatrader e não pode ser contornada. É possível usar a WINAPI para isso? (desculpe, não sei muito sobre a criação de objetos usando ferramentas padrão do Windows).
 
Roman Podpora:
Olá! Esta é uma pergunta. Nas linguagens C, existem elementos como o TMemo, com transferência automática de texto para uma nova linha, e o habitual TEdit, no qual é possível inserir mais de 63 caracteres. É possível criar análogos do TMemo e do TEdit com a ajuda de seus desenvolvimentos? Entendo que 63 caracteres é uma limitação do próprio metatrader e não pode ser contornada. É possível usar a WINAPI para isso? (desculpe, não sei muito sobre a criação de objetos usando ferramentas padrão do Windows).
Há planos para criar um elemento separado como o CTextBox, no qual não há restrições e você pode ativar o modo de várias linhas, bem como barras de rolagem verticais e horizontais.