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

Вниз

Как пролистать ListView до нужной позиции?   Найти похожие ветки 

 
tytus ©   (2007-03-03 12:21) [0]

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????


 
Loginov Dmitry ©   (2007-03-03 12:40) [1]

ItemIndex
Focused


 
tytus ©   (2007-03-03 12:55) [2]

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


 
MBo ©   (2007-03-03 13:05) [3]

MakeVisible


 
REA   (2007-03-03 13:07) [4]

Item.MakeVisible


 
tytus ©   (2007-03-03 13:28) [5]

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


 
REA   (2007-03-03 16:27) [6]

HideSelection := False



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.095 c
2-1172883049
arturich
2007-03-03 03:50
2007.03.25
Поиск в тексте


4-1163159712
novill
2006-11-10 14:55
2007.03.25
Есть у кого-нибудь заголовки функций gina.dll на Delphi?


15-1172460204
Slider007
2007-02-26 06:23
2007.03.25
С днем рождения ! 23 февраля


15-1172522345
SkySpeed
2007-02-26 23:39
2007.03.25
Как сохранить данные с винчестера на CD-R через MS-DOS?


4-1162893030
progmax
2006-11-07 12:50
2007.03.25
результат выполнения ком. строки в переменную