Hola Raistlin!
No has mencionado que manejador de base de datos utilizas, por lo pronto puedo sugerirte usar el evento OnChange de un TEdit, de esta forma mientras el usuario escribe el texto puedes ir modificando el query asociado al grid para mostrar los registros filtrados.
Este ejemplo que te pongo funciona en Interbase/Firebird, algo similar puedes hacer con otros manejadores
Código Delphi
[-]
procedure TForm1.EditArticuloChange(Sender: TObject);
begin
with IBQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT CLAVE, DESCRIPCION FROM ARTICULOS');
SQL.Add('WHERE DESCRIPCION STARTING WITH :Texto');
ParamByName('Texto').AsString:=EditArticulo.Text;
Open;
end;
end;
Saludos