|
감사합니다.
그래서 아무리 해도 안되는거였군요...
앞으로 참고 하겠습니다.
그럼 좋은 하루 되세요~
임 님이 쓰신 글 :
:
: for(int i=0 ; i<Listv->Items->Count ;i++)
: {
: if (Listv-> Selected) Listv->Selected->Delete();
: }
: 위와같이 하면, 삭제된 항목수만큼 for 문을 덜 순환하게 됩니다.
: 예를 들어, Listv->Items->Count가 원래 9일 때 4개의 항목을 삭제하면
: for 문은 9번이 아닌 5번만 순환합니다.
: 항목을 삭제할 때마다 Listv->Items->Count가 1씩 감소하니까요.
: 이 것을 방지하려면 아래와같이 하면 됩니다.
: if (Listv-> Selected)
: { Listv->Selected->Delete(); i--; }
:
: 또다른 방법은 아래입니다.
: for(int i=Listv->Items->Count-1 ;i>=0; i--)
: {
: if (Listv->Items->Item[i]->Selected)
: Listv->Items->Item[i]->Delete();
: }
:
: 또는
:
: for(int i=0 ;i<Listv->Items->Count ;i++)
: {
: if (Listv->Items->Item[i]->Selected)
: Listv->Items->Item[i--]->Delete();
: }
:
: 끝.
:
|