Hola fedee.
Se me ocurre que podés aprovechar el evento
OnChange del Edit:
Código:
void __fastcall TForm1::Edit1Change(TObject *Sender)
{
int i = 0;
boolean Found = FALSE;
while(i < ListBox1->Count && !Found) {
Found = ListBox1->Items->Strings[i].SubString(1,Edit1->Text.Length()) == Edit1->Text;
i++;
}
if(Found)ListBox1->ItemIndex = i-1;
}
Saludos.