Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
ВнизПозиционирование в ListBox или любом другом списке. Найти похожие ветки
← →
harismatik (2002-11-25 11:25) [0]У меня есть на форме компонент TEdit и TListBox с некоторым набором строк. Мне необходимо сделать так, чтоб при вводе определенного текста в TEdit выделялась соответствующая строка в списке (Аналогично как сделано в системе Хелпа на странице Find).
← →
Song (2002-11-25 11:28) [1]TEdit.onChange
Чего не получается?
← →
harismatik (2002-11-25 11:33) [2]А если стираю букву? Оно прыгает дальше вниз по списку, а должно бы вверх. Как это сделать?
← →
stone (2002-11-25 11:37) [3]смотря как ты находишь строку в листбоксе
← →
harismatik (2002-11-25 11:42) [4]Я использую такой код:
procedure TForm1.Edit1Change(Sender: TObject);
var s:string;
begin
s:=Edit1.Text;
with ListBox1 do
ItemIndex := Perform(LB_SELECTSTRING, ItemIndex, LongInt(S));
end;
Если есть какие соображения по этому поводу, то прошу выразить, бо задачу решить надо.
← →
stone (2002-11-25 11:51) [5]попробуй
with ListBox1 do
ItemIndex := IndexOf(s);
но это только по полному значению строки
← →
harismatik (2002-11-25 11:53) [6]По полному мне не подходит. Мне нужно именно по части сторки, начиная с первой буквы.
← →
Alex Y (2002-11-25 12:14) [7]Попробуй
ItemIndex := Perform(LB_SELECTSTRING, -1, LongInt(S));
← →
harismatik (2002-11-25 12:23) [8]2 Alex Y Спасибо. Получилось.
← →
mukha (2002-11-26 10:46) [9]А может так?
Сначала установить Listbox1.Sorted:=true;
А затем:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Listbox1.Perform( LB_SELECTSTRING ,0,LongInt(pchar(Edit1.Text)));
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.12.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c