Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Alterando componentes do designer via código O Studio Form Designer facilita bastante a tarefa de criação de formulários para a aplicação. Em sua barra de propriedades, ele possui alguns parâmetros que podemos ajustar em cada componente. Em um label, podemos ajustar cor e tamanho, dentre outros. Mesmo oferecendo diversos parâmetros, ele nunca oferecerá 100% das propriedades que podem ser alteradas via CSS, por exemplo, nem é esse o ...
PD
Alterando componentes do designer via código  
Fechado
O Studio Form Designer facilita bastante a tarefa de criação de formulários para a aplicação. Em sua barra de propriedades, ele possui alguns parâmetros que podemos ajustar em cada componente. Em um label, podemos ajustar cor e tamanho, dentre outros. Mesmo oferecendo diversos parâmetros, ele nunca oferecerá 100% das propriedades que podem ser alteradas via CSS, por exemplo, nem é esse o objetivo.

Assim, para complementar características visuais de elementos criados pelo designer, criei este artigo, onde explico como alterar as propriedades de um TLabel (cor, fonte, sombra) e de um TEntry (tamanho do campo e tamanho da fonte).

Primeiro, eu criei um formulário simples no designer, somente com um TLabel (label1) e um TEntry (entry1). Em seguida é criado o código a seguir para ler o formulário XML (teste.form.xml). Veja que obtemos os objetos por meio do método getWidget(), tanto o TLabel, quanto o TEntry. Em seguida, podemos executar métodos convencionais do framework, como TLabel::setFontColor() e TLabel::setFontSize(). Mesmo para propriedades que não possuem método, podemos alterar diretamente via tag style ($label1->style = '...'). Assim, ligamos a sombra do label, e também aumentamos o tamanho do TEntry, como podemos ver a seguir.

  1. <?php
  2. class TesteView extends TPage
  3. {
  4.     private $form;
  5.     
  6.     function __construct()
  7.     {
  8.         parent::__construct();
  9.         
  10.         $this->form = new TForm('form_Backlog');
  11.         
  12.         try
  13.         {
  14.             // TUIBuilder object
  15.             $ui = new TUIBuilder(500,500);
  16.             $ui->setController($this);
  17.             $ui->setForm($this->form);
  18.             
  19.             // parsing do XML
  20.             $ui->parseFile('app/forms/teste.form.xml');
  21.             
  22.             // obtêm os objetos
  23.             $label1 $ui->getWidget('label1');
  24.             $entry1 $ui->getWidget('entry1');
  25.             
  26.             // altera o label
  27.             $label1->setFontColor('red');
  28.             $label1->setFontSize(20);
  29.             $label1->style 'text-shadow: 2px 2px #c0c0c0;'
  30.             
  31.             // altera o entry
  32.             $entry1->style 'height: 40px; font-size:20pt';
  33.             
  34.             $this->form->add($ui);
  35.             $this->form->setFields($ui->getFields());
  36.         }
  37.         catch (Exception $e)
  38.         {
  39.             new TMessage('error'$e->getMessage());
  40.         }
  41.         parent::add($this->form);
  42.     }
  43. }
  44. ?>

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (0)