Desenvolvimento de Sistemas para Automação Comercial

Voltar

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 para Milhões de Registros

  • Preste muita atenção neste. É uma implementação nativa do famoso paradigma Virtual TreeView. Em um TTreeView ou TListView comum, 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 OnChange de 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 de TGroupBox.

    Diferença do TGroupBox: O TGroupBox cria uma caixa ao redor dos componentes (borda completa) e tem peso visual maior. O TDividerBevel é 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.