우와 답변 정말 감사합니다.
좋은하루되세요 정말 감사합니다 ^^
정성훈.해미 님이 쓰신 글 :
: 안녕하세요.
: 정성훈.해미입니다.
:
: 자동으로 리스트뷰으 세로중앙에 찾은 아이템(칼럼)이 오게 한 소스입니다.
: 검색 방법도 조금 변경했으니 참고하세요.
:
: //리스트뷰의 맨 처음 아이템을 가져온다
: TListItem *Item = ListView1->Items->Item[0];
:
: //아이템이 있으면 반복
: while(Item)
: {
: //리포트 형태로 보이는 아이템의 2번째 칼럼(SubItems->String[0])의 내용이 같은지 검사
: if(Item->SubItems->Strings[0] == Edit1->Text.Trim())
: {
: //리스트뷰의 선택 아이템으로 설정한다
: ListView1->Selected = Item;
: //해당 아이템이 리스트뷰 중앙에 오게 스크롤한다
: ListView1->Scroll(0, Item->GetPosition().y-ListView1->Height/2);
: //리스트뷰에 포커스
: ListView1->SetFocus();
: //반복문 종료
: break;
: }
: //리스트뷰에서 다음 아이템을 찾는다.
: Item = ListView1->GetNextItem(Item, sdAll, TItemStates()<<isNone);
: }
:
:
: //----------------------------------------
: // ┏┓
: // ┣┻┓┏ ┃┃ 작은 생각이 세상을 바꾼다
: // ┃♡┃┣ ┣┫┏┓
: // ┗━┛┗ ┃┃┣┫┏┓┏┓ - 정성훈.해미
: // ━━━━━━━━━┣┛┣┛┗┫━━━━━━
: // Web Site:
http://www.hemistory.net
: // e-mail: sage5nor@chol.com
: //----------------------------------------
:
: 오전&오후 님이 쓰신 글 :
: : 답변감사합니다.
: : 선택되는거는 되는데 선택된 항목이 화면에 보여줘야 되는데
: : ListView1->SetFocus(); //리스트뷰에 포커스
: : 자동스크롤은 안되나 보네요 선택된 항목으로 자동스크롤되게 하려면 어덯게 해야되나요 ㅜㅜ;;;
: : 여러가지로 생각해 보는데 생각이 잘안되네요 답변부탁드립니다.
: :
: : 정성훈.해미 님이 쓰신 글 :
: : : 안녕하세요.
: : : 정성훈.해미입니다.
: : :
: : : 리스트뷰를 리포트스타일로 사용하신가 보군요.
: : : 아이템의 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;
: : : : }
: : : : }