폼위에 에디터컴포넌트와 리스트뷰컴포넌트가 있습니다..
리스트 뷰에는 데이터 값들이 들어있구요...
에디터컴포넌트에 데이터를 검색하기 위해 값을 입력하고, 리스트뷰에서 그걸 찾아 포커스를(Item을 클릭했을때 선택된거와 같은..) 갖고자 합니다..
일단 검색은 되는데, 검색된 Item에 포커스를 주는 방법을 모르겠습니다.
데이터가 리스트뷰의 하단에 있으면 자동으로 스크롤 되어 원하는 데이터 값을 가르치면 좋겠는데요..
넘 급하다 보니 넘 두서 없이 글을 남겼군요..
암튼 여러고수님들의 도움 부탁드립니다..
요렇게 하면 됩니다..
var
i :Integer;
ss : TListItem;
begin
ss := TListItem.Create(ListView1.Items);
if key = vk_return then
begin
ss := ListView1.FindCaption(0,Edit1.Text,True,false,true);
i := ListView1.Items.IndexOf(ss);
Listview1.SetFocus; //요걸하지않으면 HideSeletion을 False해주었을 경우...
// 회색으로 나타나구여.. true일경우에는 안보이더라구여..
//그래서 궁여지책으로...
Listview1.Selected := ListView1.Items[i];
end;
도움이 되셨으면 하네여..
그럼 이만...즐코 하세여...
poteau wrote:
> 폼위에 에디터컴포넌트와 리스트뷰컴포넌트가 있습니다..
> 리스트 뷰에는 데이터 값들이 들어있구요...
> 에디터컴포넌트에 데이터를 검색하기 위해 값을 입력하고, 리스트뷰에서 그걸 찾아 포커스를(Item을 클릭했을때 선택된거와 같은..) 갖고자 합니다..
> 일단 검색은 되는데, 검색된 Item에 포커스를 주는 방법을 모르겠습니다.
> 데이터가 리스트뷰의 하단에 있으면 자동으로 스크롤 되어 원하는 데이터 값을 가르치면 좋겠는데요..
> 넘 급하다 보니 넘 두서 없이 글을 남겼군요..
> 암튼 여러고수님들의 도움 부탁드립니다..