Aba Additional — Produtividade e Layout
A aba Standard tem os blocos básicos; a Additional tem os atalhos de produtividade. São fusões de componentes que eliminam código repetitivo em telas de cadastro, forms modais e layouts responsivos.
-
- TLabeledEdit — Label + Edit em um só
- TSpeedButton — Botão sem foco
- TBitBtn — Botão com ModalResult
- TMaskEdit — Campo com máscara rígida
- TCheckListBox — ListBox com checkboxes
- Organização e Layout (TFlowPanel, TGridPanel, TScrollBox)
- Grids em Memória (TStringGrid, TValueListEditor)
- Estética e Indicadores Visuais
- Integração com o Sistema Operacional
TLabeledEdit — Label + Edit em um só
-
É a fusão de um TLabel com um TEdit. Em vez de soltar dois componentes na tela, alinhar e nomear ambos, você solta apenas este. Acelera brutalmente a criação de telas de cadastro extensas.
No Delphi puro, era comum arrastar um TLabel, um TEdit e trabalhar muito com a propriedade FocusControl do Label para que o clique no label levasse o foco ao edit. O TLabeledEdit já gerencia isso automaticamente.
Comparação com Delphi/Lazarus antigo: Substituiu o padrão manual de alinhar
TLabel + TEditcomFocusControle oTabOrderconfigurado individualmente.
TSpeedButton — Botão sem foco (ideal para buscas)
-
É um botão de estilo "flat" (sem borda 3D pesada). O verdadeiro trunfo em sistemas comerciais: ele não recebe foco — não entra na ordem do Tab.
É o botão ideal para colocar ao lado de um campo de busca (como um botão de "Buscar CEP" ou "Pesquisar Cliente"), pois o usuário pode clicar nele e o cursor de digitação continuará piscando dentro do Edit.
Cenário clássico em ERP: Um
TEditpara o CNPJ e umTSpeedButtoncom ícone de lupa ao lado. Ao clicar no botão, o sistema consulta o WS da Receita Federal e preenche razão social, endereço e IE. O foco permanece no TEdit, pronto para a próxima digitação.
TBitBtn — Botão com imagem e ModalResult
-
Botão que aceita imagens (Glyphs) nativamente e possui a propriedade ModalResult. Perfeito para telas de confirmação modais.
Se você configurar o
ModalResultdele comomrOkoumrCancel, não precisa escrever código no evento OnClick para fechar o formulário; ele faz isso sozinho e devolve o resultado para quem chamou.Valores úteis de ModalResult:
mrOk, mrCancel, mrYes, mrNo, mrAbort, mrRetry, mrIgnore.
TMaskEdit — Campo com máscara rígida
-
Campo de texto com máscara de entrada rígida (ex: CPF, CNPJ, Telefone, CEP). Garante que o usuário preencha o campo exatamente no formato esperado.
Dica para o Firebird: Salve CNPJ e CPF sempre como VARCHAR(14) e VARCHAR(11) sem máscara (apenas dígitos). A máscara é só para exibição.
TCheckListBox — ListBox com checkboxes
-
Um TListBox onde cada linha tem uma caixinha de marcação. É a melhor escolha de UI nativa para telas de "Permissões de Usuário" ou para selecionar múltiplos itens em lote.
Organização e Layout Responsivo
-
TFlowPanel — Container auto-reflow
Em vez de posicionar botões com
LefteTopfixos, você joga os botões dentro dele. Se a tela do usuário for menor (como um monitor antigo de balcão), ele empurra os botões para a linha de baixo automaticamente, como palavras em um texto. -
TGridPanel — Container em células proporcionais
Divide o espaço em células (linhas e colunas) proporcionais. Se você criar um Dashboard com 4 painéis e o usuário maximizar a tela, o TGridPanel redimensiona mantendo as proporções exatas de 50/50.
-
TScrollBox — Barras de rolagem automáticas
Quando uma tela de configurações não cabe em resoluções menores, jogue tudo dentro de um TScrollBox. Ele cria as barras de rolagem automaticamente quando os componentes internos ultrapassam o tamanho da janela.
-
TSplitter e TPairSplitter — Divisória arrastável
Permitem que o usuário arraste divisórias para redimensionar painéis na tela em tempo de execução. O TPairSplitter já vem com os dois painéis embutidos — ideal para telas com uma lista à esquerda e detalhes à direita, como o Explorer do Windows.
Grids em Memória
-
TStringGrid — Grid sem banco de dados
Um grid que não se conecta ao banco de dados. Essencial para ler e exibir arquivos de texto (como o retorno de um arquivo TXT de boleto bancário ou CSV) antes de processar e salvar no Firebird.
-
TValueListEditor — Grid de propriedades (Chave=Valor)
Excelente para telas de configuração onde o usuário precisa editar pares Chave/Valor, como parâmetros de integração com API ou configurações de conexão.
Estética e Indicadores Visuais
-
TShape — Faróis de Status
Desenha círculos, quadrados, etc. A melhor utilidade prática em um ERP é criar "faróis de status" nos formulários. Por exemplo: uma bolinha que fica verde se a Sefaz está online, ou vermelha se houver erro de certificado.
-
TBevel — Separador visual leve
Cria linhas de separação visuais (como o
<hr>no HTML) ou caixas de baixo relevo. Ótimo para separar seções de informações em uma tela sem usar o peso de renderização de um TGroupBox. -
TImage — Logo e fotos de produto
Para carregar imagens: logos de clientes em relatórios na tela, fotos de produtos em um PDV. Suporta BMP, PNG e JPEG nativamente.
Integração com o Sistema Operacional
-
TTrayIcon — Minimizar para a bandeja do sistema
Minimiza sua aplicação para a bandeja do sistema (perto do relógio do Windows). Indispensável para criar aplicativos de retaguarda, como um integrador que roda em background sincronizando dados locais com uma API externa do governo (SPED, MDF-e, etc.).
-
TApplicationProperties — Interceptar erros globais
Componente não-visual fortíssimo. Ele permite interceptar eventos da aplicação inteira. O cenário mais útil: usar o evento
OnExceptiondele para capturar qualquer erro de banco de dados estourado no sistema, gravar a mensagem num arquivo de log e exibir uma mensagem amigável para o cliente no lugar do erro técnico do Firebird.Comparação com o Firebird: É o equivalente ao
WHEN ANY DOde uma Stored Procedure no Firebird, mas operando no nível da aplicação inteira em Pascal.