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
[9584] Re:[급질문]ListView
박지훈.임프 [cbuilder] 1054 읽음    2001-08-05 04:03
임프랍니다.

아래 김성진님이 말씀하신대로, 아주 간단한 방법은 없습니다.
리스트아이템의 캡션과 인덱스는 직접적인 관련이 없으니까요.
하지만 수작업이라도 좀 편한 방법은 있지요. 리스트뷰의 OnInsert 이벤트를 이용하면 됩니다.

다음과 같이 새 아이템을 추가한 경우에...
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int NewIndex = ListView1->Selected ? ListView1->Selected->Index : 0;
    TListItem* NewItem = ListView1->Items->Insert(NewIndex);
    NewItem->Caption = NewItem->Index;
    NewItem->SubItems->Add(Edit1->Text);
}

다음과 같이 OnInsert 이벤트 핸들러를 작성하세요.

void __fastcall TForm1::ListView1Insert(TObject *Sender, TListItem *Item)
{
    for(int i=Item->Index+1; i<ListView1->Items->Count; i++)
        ListView1->Items->Item[i]->Caption = ListView1->Items->Item[i]->Index;
}

그럼 이만...


김선영 님이 쓰신 글 :
: 이곳에서 많은 도움을 얻고 있는 왕초보입니다..
: ListView 에서 captiondmf
: 한개의 item 이 추가될때마다 0부터...1씩 증가를 시키는데..
: 만약 새로운 item이 추가될때
: 새로 insert되는 caption에는 제대로 되나..
: 한칸 밑으로 밀려나는 index는 변화가 없습니다.
: 그래서..각 item들을 insert나 delete를 할경우 index가
: 정렬이 안되고 엉망이 되어버립니다.
: 이럴때 어찌 해야 할지
:
: (예)
: index(Caption)   item(subitem)  
: 0                  A
: 1                  E        <-- insert
: 1                  B
: 2                  C
: 4                  F         <-- insert
: 3                  D
:     
:
:

+ -

관련 글 리스트
9556 [급질문]ListView 김선영 837 2001/08/03
9584     Re:[급질문]ListView 박지훈.임프 1054 2001/08/05
9560     Re:[급질문]ListView kark .김성진 899 2001/08/03
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.