Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как пролистать ListView до нужной позиции? [D7, WinXP]


tytus ©   (2007-03-03 12:21:00) 

BoДоброго дня Всем! Имеется ListView (он же LV1) со сотилем vsReport. В поле Edit ввожу текст, и в обработчику пишу:
procedure TRepParamsFm.Edit1Change(Sender: TObject);
var
 LF:LV_FINDINFO;
 ps:PChar;
 len:integer;
 res:integer;
begin
len:=Length(Trim(Edit1.Text));
if len=0 then exit;
len:=len+1;
GetMem(ps,len);
StrPCopy(ps,Edit1.Text);
LF.psz:=ps;
LF.flags:=LVFI_PARTIAL or LVFI_STRING;
res:=SendMessage(LV1.Handle,LVM_FINDITEM,-1,Integer(@LF));
FreeMem(ps);

SB1.Panels[0].Text:=IntToStr(Res);
end;
Вот такой простой поиск нужного элемента по строке. Как теперь мне пролистать ListView, чтобы был виден найденный элемент (его индекс находится в переменной res), как это поисходит в ListBox-e, при посылке LB_FINDSTRING????


REA   (2007-03-03 16:27:00) [1]

HideSelection := False


tytus   (2007-03-03 13:28:00) [2]

MBo, REA,Спасибо.
А как сделать, чтобы элемент списка был выделенным, но сохранилась возможность дальнейшего ввода текста в Edit-e?
LV1.ItemIndex:=res;
LV1.Items[res].MakeVisible(true);
Затем, чтобы данный элемент стал выделенным, нужно выполнить
LV1.SetFocus;
И все - эдит теряет фокус ввода. Ежели после LV1.SetFocus; передать фокус ввода эдиту - то элемент списка перестает бытьт выделенным. Как быть...???


REA   (2007-03-03 13:07:00) [3]

Item.MakeVisible


MBo   (2007-03-03 13:05:00) [4]

MakeVisible


tytus   (2007-03-03 12:55:00) [5]

>Loginov Dmitry ©   (03.03.07 12:40) [1]
LV1.ItemIndex:=res;
LV1.focused;
не помогает, и не прокручивает список.


Loginov Dmitry   (2007-03-03 12:40:00) [6]

ItemIndex
Focused


Наверх

Титульная страница Поиск, карта сайта Написать письмо