БОЛЬШОЙ FAQ ПО DELPHI



Инкрементальный поиск в ListBox

Предположим, что ListBox сортируется, это не трудно. Вы должны разместить компонент Edit выше ListBox и создать следующий обработчик его случая OnChange:


 procedure TForm1.Edit1Change(Sender: TObject);
 var
   Ndx: Word;
 begin
   with Sender as TEdit do
   begin
     Ndx := ListBox1.Items.Add(Text);
     ListBox1.Items.Delete(Ndx);
     if CompareText(Text, Copy(ListBox1.Items[Ndx], 1, Length(Text))) = 0 then
       ListBox1.ItemIndex := Ndx
     else
       ListBox1.ItemIndex := -1;
   end;
 end;
 

Пытаясь вставить часть текста, вы просто просматриваете список на предмет его наличия. Если актуальный элемент в этой позиции содержит "частичный" текст, мы выводим его, в противном случае делаем так, чтобы ListBox не имел выделенного (ItemIndex) элемента.




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ