Buscar

Busca rápida em um listbox

Código

Nesta matéria veremos como realizar uma busca rápida em um controle ListBox, utilizando a função Perform. A dica é o seguinte: teremos um Edit e um ListBox. No ListBox vamos ter uma lista com vários nomes de países. No Edit, iremos digitar o nome do país a ser localizado, só que, quando começarmos a digitar, automaticamente o item no ListBox será selecionado.
Vamos ao exemplo que ficará mais claro o entendimento da dica. Inicie uma nova aplicação no Delphi e no formulário, adicione os seguintes controles: dois Labels, um Edit e um ListBox. Configure o formulário de acordo com a figura abaixo:






Vamos ao código de nossa aplicação. No evento Create do formulário adicione o seguinte código:


procedure TForm1.FormCreate(Sender: TObject);
begin
  ListBox1.Items.Add ('Argentina');
  ListBox1.Items.Add ('Brasil');
  ListBox1.Items.Add ('Chile');
  ListBox1.Items.Add ('Equador');
  ListBox1.Items.Add ('Guiana');
  ListBox1.Items.Add ('Paraguai');
  ListBox1.Items.Add ('Uruguai');
  ListBox1.Items.Add ('Venezuela');
  ListBox1.Items.Add ('Xangai');
  ListBox1.Items.Add ('Zaire');
end;


O código acima irá adicionar os países no controle ListBox assim que o formulário for criado.
E para o evento Change do controle Edit, iremos adicionar o código que irá fazer a busca, ou seja, quando começarmos a digitar, ele irá buscar no ListBox automaticamente, o conteúdo que foi digitado. Veja abaixo:


procedure TForm1.Edit1Change(Sender: TObject);
begin
  Listbox1.Perform(LB_SELECTSTRING,0,LongInt(PChar(Edit1.Text)));
end;

Veja o nosso exemplo em execução através da figura abaixo:





Observe que ao digitarmos a letra "P", automaticamente é selecionado no ListBox o item que começa com essa letra.

 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 09/02/05
Por: Jose Ribeiro
Visualizada: 11830 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009