|
간단하게
1. 삭제는
- for문은 꺼꾸로 돌리세요
Items->Count -1 부터 0 까지
이유는 생각해보시면 금방아실 겁니다.
2. 파일open과 아이템 삭제
; 이벤트를 그렇게 SelectItem에 걸어놓았으니 어쩔수 없을것 같은데요
파일 open부분을 DoubleClick 이벤트에 넣는것은 어떤지요?
그럼..
네버 님이 쓰신 글 :
: 매번 답변주시는 장성호님 너무 고맙습니다^^
:
: 클립보드 문제는 잘 해결하였습니다~
:
: 리스트뷰에 몇개의 아이템을 추가시키고 그 아이템을 클릭하면 파일을 열수있도록 처리를 하였습니다.
: 또한 체크박스를 사용하여 체크한 데이타를 삭제하는 기능도 넣었구요.
:
: 그런데 문제가 발생했네요.
: 일단 여러개의 아이템을 선택한 후 삭제할시 가장먼저 추가되었던 아이템이 삭제가 되질 않아요.
: ====================================================================================
: for(int i = 0; i < Form3->ListView1->Items->Count; i++)
: {
: if(Form3->ListView1->Items->Item[i]->Checked)
: {
: Form3->ListView1->Items->Delete(i);
: }
: }
: ==================================================================================
: 이렇게 코딩했습니다.
:
: 두번째 문제는 아이템의 캡션을 클릭하면 그 파일을 열도록 했어요.
: 그런데 캡션을 선택해서 그 파일을 연 다음
: 다시 파일을 닫고
: 그 아이템의 체크 박스를 선택하여 삭제 하려고 할 경우 다시 또 파일이 열린 다음에 삭제가 됩니다.
: ===================================================================================
: oid __fastcall TForm3::ListView1SelectItem(TObject *Sender,
: TListItem *Item, bool Selected)
: {
: ShellExecute(0, "open", event_file.c_str(), "", "", SW_SHOWNORMAL);
: }
:
: 아이템의 캡션을 선택한 후 그 파일을 보여주는건 이렇게 처리를 했답니다.
:
: 그럼 답변 기다리겠습니다.
|