Цитата:
Сообщение от Kailon
Можно сделать всё
Код:
var
SList: TStringList;
...
function CBFilter(AText: String): TStringList;
var
I: LongInt;
SL: TStringList;
begin
SL := TStringList.Create;
for I := 0 to SList.Count - 1 do
if Pos(AnsiUpperCase(AText), AnsiUpperCase(SList[i])) > 0 then
SL.Add(SList[i]);
Result := SL;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text <> '' then
ComboBox1.Items := CBFilter(Edit1.Text)
else
ComboBox1.Items := SList;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
I: LongInt;
begin
SList := TStringList.Create;
for I := 0 to ComboBox1.Items.Count - 1 do
SList.Add(ComboBox1.Items[i]);
end;
|
Спасибо за ответ!
Но, судя по Вашему коду, это решение использует два экранных элемента: TEdit и TComboBox. То есть, ComboBox фильтруется используя строку,вводимую в Edit. Я же хотел обойтись одним ComboBox.