Aba LazControls — Componentes Nativos do Lazarus
A aba LazControls é muito especial. Diferente da aba Standard ou Additional (que nasceram para imitar o Delphi 7), esta aba contém componentes criados pela própria equipe do Lazarus para resolver problemas modernos de interface gráfica. Eles pegaram necessidades clássicas de quem desenvolve sistemas pesados e empacotaram em componentes prontos.
-
- TLazVirtualStringTree — Grid/Tree para milhões de registros
- Filtros Dinâmicos (TListFilterEdit, TTreeFilterEdit)
- TExtendedNotebook — Abas com botão Fechar (estilo Chrome)
- TSpinEditEx e TFloatSpinEditEx — Versões aprimoradas
- TDividerBevel — Separador com texto
- TShortPathEdit — Campo de caminho encurtado
TLazVirtualStringTree — Grid para Milhões de Registros
-
Preste muita atenção neste. É uma implementação nativa do famoso paradigma Virtual TreeView. Em um
TTreeViewouTListViewcomum, se você carregar 100 mil registros do banco (por exemplo, a tabela inteira de NCMs para o usuário consultar), o sistema consome memória gigantesca e a tela trava enquanto monta a lista.A Virtual Tree não armazena os dados. Ela apenas gerencia a barra de rolagem e pede os dados para você sob demanda (através de eventos como o
OnGetText) apenas para os itens que estão visíveis na tela naquele milissegundo. O resultado? Você carrega milhões de linhas em uma fração de segundo.Comparação com o Firebird: É como a diferença entre um
SELECT *que traz tudo de uma vez vs. um cursor no Firebird que vai buscando registro por registro conforme necessário. A VirtualTree faz o "cursor" no lado do Delphi/Lazarus. -
TLazVTHeaderPopupMenu
Componente auxiliar que você liga na sua VirtualTree. Ele cria automaticamente aquele menu de "clicar com o botão direito no cabeçalho" para o usuário ligar e desligar as colunas do grid — igual ao Excel.
Filtros Dinâmicos — Busca em Tempo Real
-
Se você já teve que escrever código no evento
OnChangede um Edit para varrer um ListBox e esconder itens, esses componentes vão apagar esse código do seu sistema: -
TListFilterEdit — Filtrar um TListBox
-
TTreeFilterEdit — Filtrar um TTreeView
A mesma coisa, mas para um
TTreeView. Perfeito para filtrar o menu lateral de navegação do sistema ou o Plano de Contas.
TExtendedNotebook — Abas com Botão Fechar
-
É uma evolução do
TPageControl. A grande sacada: ele já vem com o botãozinho de "Fechar" (um "X") em cada aba, igual ao Google Chrome. Se você tem um PDV onde o usuário pode abrir a tela de Venda, o Cadastro de Cliente e o Contas a Pagar ao mesmo tempo, use esse componente para ele navegar entre as telas e fechar as que não está usando — tudo em uma única janela do Windows.
TSpinEditEx e TFloatSpinEditEx — Versões Aprimoradas
-
São versões melhoradas dos SpinEdit da aba Misc. A maior diferença prática: lidam muito melhor com valores nulos (Null) e se adaptam melhor aos temas visuais do Windows 10/11. Preferira essas versões em projetos novos.
TDividerBevel — Separador com Texto
-
Excelente para organizar o layout de formulários longos. Ele desenha uma linha horizontal na tela e permite colocar um texto no meio (ex:
--- Endereço de Faturamento ---). Ajuda a separar grupos de dados sem o peso visual (e de processamento) de encher a tela deTGroupBox.Diferença do TGroupBox: O
TGroupBoxcria uma caixa ao redor dos componentes (borda completa) e tem peso visual maior. OTDividerBevelé apenas uma linha separadora horizontal, mais limpo e moderno para formulários extensos.
TShortPathEdit — Caminho Encurtado
-
Excelente para telas de configuração. Se o usuário escolher um caminho de rede gigantesco para salvar o XML do ACBr (ex:
C:\Users\Administrador\Documents\Sistema\Arquivos\NFe\2025), esse edit encurta a visualização automaticamente no meio (ex:C:\Users\...\NFe\2025) para não quebrar o layout, mas mantém o caminho real intacto para o sistema usar.