C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[2910] Re:[질문]ListView에서 Item의 Index 조정하기...
박지훈.임프 [cbuilder] 4200 읽음    2000-01-31 00:00
심기준 님이 쓰신 글 :
: void __fastcall TForm1::ListView1KeyPress(TObject *Sender, char &Key)
: {
:     if(Key==ASCII_CR)
:     {
:         ListView1Click(Sender);
:         Edit1->SetFocus();
:     }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
: {
:     TListItem *lidata;
:
:     if(Key==ASCII_CR)
:     {
:         ListView1->Selected->Caption = Edit1->Text;
:         //ListView1->Selected->Index   = ListView1->Selected->Index + 1;
:         ListView1->SetFocus();
:     }
: }
:
: ListView1Click(Sender) 이것은 마우스로 클릭한 곳의
:
: 아이템 Caption을 Edit1에 넣는 부분입니다.
:
: 먼저 리스트 뷰의 어느 한 줄을 클릭하면 선택된 곳의
:
: 아이템의 캡션이 Edit1의 Text로 들어가고,
:
: 거기에서 수정을 한 후에 Enter Key를 치게 되면
:
: 다시 ListView1로 입력 포커스가 돌아가게 되는데
:
: 이때 먼저 선택된 바로 다음 라인으로 선택된 영역을 옮기고 싶습니다.
:
: 그래서 간단하게
:
: //ListView1->Selected->Index   = ListView1->Selected->Index + 1;
: 이 부분처럼 했는데
:
: Index라는 놈은 어떻게 제어를 할 수 없는가 봅니다. 에러메세지가 뜨더군요.
:
: 음.. 제가 질문을 제대로 했는지 모르겠습니다.
:
: 그럼 답변을 기다리겠습니다. 감사합니다..




임펠리테리입니다.

TListItem::Index 프로퍼티는 ReadOnly 프로퍼티입니다. 원하시는 것처럼 특정 인덱스를 가진 아이템을
선택하려면 TListItems::Item 프로퍼티를 이용해야 합니다.
ListView1->Selected = ListView1->Items->Item[ListView1->Selected->Index+1];

이렇게 하면 해당 아이템이 선택되기는 합니다만, 포커스는 여전히 이전의 아이템에 있습니다.
만약 포커스도 함께 옮기려면 다음과 같이 해야 합니다.
ListView1->Selected = ListView1->Items->Item[ListView1->Selected->Index+1];
ListView1->ItemFocused = ListView1->Items->Item[ListView1->ItemFocused->Index+1];

그럼 참고하시길...

+ -

관련 글 리스트
2900 [질문]ListView에서 Item의 Index 조정하기... 심기준 3757 2000/01/29
2910     Re:[질문]ListView에서 Item의 Index 조정하기... 박지훈.임프 4200 2000/01/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.