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

 
Alexander Fedosov:

Recompilado a biblioteca, ele diz que a classe não foi encontrada

class 'CWindow' is undefined Element.mqh

Compile projetos a partir do arquivo de programa principal (*.mq5).

 


Você pode me dizer como corrigir o problema quando os painéis estão todos bagunçados em DPI alto?

 
Biblioteca muito boa, com ela é possível criar tabela mostrando dados do mercado no evento ontick ou ontime usando logica feita pelos usuários a partir de analise de dados. no meu exemplo so falta a possibilidade de incluir um objeto edit para permitir inserir a quantidade de ordens que se deseja executar no mercado.Dados de mercado sendo exibido em uma tabela
 
Você pode me dizer, por favor, como posso fazer o alinhamento na borda direita do campo de entrada do TextEdit? Nas versões anteriores do SpinEdit, havia a possibilidade de alinhamento, mas no TextEdit não há essa possibilidade.
 
lovaK:
Você pode me dizer, por favor, como posso fazer o alinhamento na borda direita do campo de entrada do TextEdit? Nas versões anteriores do SpinEdit, havia a possibilidade de alinhamento, mas no TextEdit não há essa possibilidade.

Qualquer texto é desenhado usando o método CElement::DrawText(void), ele só tem esquerda ou centro.

É necessário adicioná-lo você mesmo. Algo parecido com isto:

   if(m_is_center_text)
     {
      x =m_x_size>>1;
      y =m_y_size>>1;
      m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER);
     }
   else
     {
      switch(m_text_align)
        {
         case 0: m_canvas.TextOut(x+m_hor_space,         y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_LEFT|TA_TOP);       break;  // AT_LEFT_TOP
         case 1: m_canvas.TextOut((int)round(m_x_size/2),y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_CENTER|TA_TOP);     break;  // AT_CENTER_TOP
         case 2: m_canvas.TextOut(m_x_size-m_hor_space,  y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_TOP);      break;  // AT_RIGHT_TOP
         case 3: m_canvas.TextOut(x+m_hor_space,         (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_LEFT|TA_VCENTER);   break;  // AT_LEFT_CENTER
         case 4: m_canvas.TextOut(m_x_size>>1,           m_y_size>>1,           m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER); break;  // AT_CENTER_CENTER
         case 5: m_canvas.TextOut(m_x_size-m_hor_space,  (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_VCENTER);  break;  // AT_RIGHT_CENTER
         case 6: m_canvas.TextOut(x+m_hor_space,         m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_LEFT|TA_BOTTOM);    break;  // AT_LEFT_BOTTOM
         case 7: m_canvas.TextOut((int)round(m_x_size/2),m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_CENTER|TA_BOTTOM);  break;  // AT_CENTER_BOTTOM
         case 8: m_canvas.TextOut(m_x_size-m_hor_space,  m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_BOTTOM);   break;  // AT_RIGHT_BOTTOM
         default: m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_LEFT); break;
        }
     }
 
Oleksii Chepurnyi:

Você mesmo deve escrevê-lo. Algo assim:

Obrigado, eu vi esse seu código na página 7 e o peguei na hora. O problema é que, com sua adição, o texto fica perfeitamente alinhado, por exemplo, no campo combo-box, mas no campo de entrada TextEdit o texto não é alinhado por esse método e permanece alinhado na borda esquerda.
 
lovaK:
Obrigado, eu vi esse código na página 7 e o peguei na hora. O problema é que, com seu complemento, o texto fica bem alinhado, por exemplo, no campo da caixa de combinação, mas no campo de entrada do TextEdit o texto não é alinhado usando esse método, ele permanece alinhado à borda esquerda.

Sim, o TextEdit não precisava alinhar :)

O texto em si desenha o TextBox (m_edit), que deve ser girado. Há seu próprio método de desenhar texto e, pelo que entendi, o texto é desenhado de forma simbólica.

A primeira coisa que me vem à mente é alterar a coordenada x em CTextBox::TextOut(void) :)

 

Fico me perguntando o que está faltando. E esses são os modelos :) Excelente!

Dei uma olhada e tenho uma pergunta: por que não podemos nos livrar do window_index nos parâmetros? Temos um ponteiro para o elemento principal, digamos, o índice da janela :)

 
Oleksii Chepurnyi:

...

Dei uma olhada rápida e tenho uma pergunta: por que não podemos nos livrar do window_index nos parâmetros? Quero dizer, temos um ponteiro para o elemento principal, digamos, o índice da janela :)

Não me lembro o motivo. Deveríamos tentar novamente.