Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Позиционирование в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-14637
UserL
2002-11-25 11:30
2002.12.05
TStack


8-14694
DenKop
2002-08-14 21:45
2002.12.05
Grabber


4-14866
Max2
2002-10-24 15:12
2002.12.05
Changing a size of window


14-14782
r-a-z-o-r
2002-11-15 09:38
2002.12.05
---|Ветка была без названия|---


3-14441
Ильнур
2002-11-18 14:15
2002.12.05
InterBase