안녕하세요.
정성훈.해미입니다.
리스트뷰를 리포트스타일로 사용하신가 보군요.
아이템의 Selected를 true로 하고, 리스트뷰의 SetFocus()함수만 부르면 선택된 상태로 포커스가 갑니다.
[예]
for(int i=0 ; i<ListView1->Items->Count; i++) //리스트뷰의 아이템 개수만큼 반복
{
//리포트 형태로 보이는 아이템의 2번째 칼럼(SubItems->String[0])의 내용중에 같은 것이 있는지 검색
if(ListView1->Items->Item[i]->SubItems->Strings[0] == Edit10->Text.Trim())
{
ListView1->Items->Item[i]->Selected = true; //해당 아이템을 선택
ListView1->SetFocus(); //리스트뷰에 포커스
break;
}
}
//----------------------------------------
// ┏┓
// ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
// ┃♡┃┣ ┣┫┏┓
// ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
// ━━━━━━━━━┣┛┣┛┗┫━━━━━━
// Web Site: http://www.hemistory.net
// e-mail: sage5nor@chol.com
//----------------------------------------
오전&오후 님이 쓰신 글 :
: ListView에서 특정값을 검색해서
: 검색한 데이타가 있을경우 해당데이타가 선택되고 포커스가 거기로 이동하게 할려고 하는데
: 어떻게 해야되나요?
:
: 밑에처럼 해봤는데 안되네요 방법을 아시는분 답변좀 부탁드립니다.
:
: for(int i=0 ; i < ListView1->Items->Count - 1 ; i++){
: if(ListView1->Items->Item[i]->SubItems[0].Strings[0] == Edit10->Text.Trim()){
: ListView1->Items->Item[i]->Selected = true;
: ListView1->Items->Item[i]->Focused = true;
: ListView1->Update();
: break;
: }
: }
|