Делал подобнцую штуку. Только так именно был поиск с начала строки, т.к. по результатам поиска в поле редактирования ComboBox вписвывася текст найденной строки и делалось выделение (select) текста после найденного отрезка. Как результат, при наборе с клавиатуры следующего символа происходила замена "хвоста" на введенный символ и поиск повторялся.
В твоем случае не понятно что выделять. Тут действительно можно только отфильтровать выпадающий список.
Код:
uses System.StrUtils;
procedure TForm1.InitCbDropList;
begin
ComboBox1.Items.Clear;
ComboBox1.Items.Add('Item1');
...
ComboBox1.Items.Add('ItemN');
end;
procedure TForm1.ComboBox1Change(Sender : TObject);
var
I : Integer;
SL : TStringList;
begin
If ComboBox1.Text = ''
Then InitCbDropList
Else
Begin
SL := TStringList.Create;
Try
For I := 0 To ComboBox1.ITems.Count-1 Do
If ContainsText(ComboBox1.ITems[i],ComboBox1.Text) Then
SL.Add(ComboBox1.ITems[i]);
ComboBox1.Items.Assign(SL);
Finally
SL.Free;
End;
End;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
InitCbDropList;
end;
Вот как то так...