큭... ^^; 사실 볼랜드의 TListView의 내용을 추가하는 소스는 많이 봤습니다만!
추가한 내용을 수정하는 소스는 아직 보질 못했습니다. ㅡㅡ; 제가 못찾은 걸까요?
구글에서 외국의 소스를 찾아보아도 대부분이 추가하는 소스,
리스트뷰의 배경색이나, 글자색 등의 색 종류의 팁은 많이 있었지만,
정작 리스트뷰의 내용을 수정하는 것은 찾기가 정말 무척이나 어렵더군요. 나중에는 포기하고,
삽집하다, 드뎌 찾았습니다.
여기 볼랜드포럼에도 그런 내용은 없었습니다.
Item, SubItem 내용 수정하고 싶다는 질문이 있었지만, 불가능하다고 나왔더군요.
내용을 수정하는 소스입니다.
제가 개인적으로 만들고 있는 인명관리 프로그램의 소스의 일부분입니다.
제가 프로그램을 계속 업데이트하고 있는데 지금 올리는 소스에서는 절대 에러가 없었습니다.
argument
MEN * inMen : 제가 만든 클래스입니다. 삭제하시고 사용하세요
TListView * inListView : 여러개의 리스트뷰에서 사용할 것 같아 포인터를 받아서 사용합니다.
//---------------------------------------------------------------------------
//todo : ListView Item Editing
void TForm_Main::gfListView_Edit_Men(MEN * inMen, TListView * inListView)
{
TListItem *tmpListItem;
tmpListItem = inListView->ItemFocused;
inListView->Items->BeginUpdate();
tmpListItem->SubItems[0].SetText(inMen->Get_LastName());
tmpListItem->SubItems->Add(inMen->Get_Name());
tmpListItem->SubItems->Add(inMen->Get_Birth());
if (inMen->Get_Sex())
tmpListItem->SubItems->Add("남자");
else
tmpListItem->SubItems->Add("여자");
tmpListItem->SubItems->Add(inMen->Get_AddressZipCode());
tmpListItem->SubItems->Add(inMen->Get_AddressCity());
tmpListItem->SubItems->Add(inMen->Get_Address());
tmpListItem->SubItems->Add(inMen->Get_Email());
tmpListItem->SubItems->Add(inMen->Get_Homepage());
tmpListItem->SubItems->Add(inMen->Get_Phone1());
tmpListItem->SubItems->Add(inMen->Get_Phone2());
inListView->Items->EndUpdate();
}
|
Item은 수정하는게 안보이는데,
Item->Caption = "새 내용";
이렇게 하시면 되고요.
서브아이템은
Item->Subitems->Strings[순서인덱스] = " 새 내용 ";
이런 식으로 해당 내용을 수정하면 됩니다.
서브아이템은 TStrings 클래스닌까 문자열 다루듯이 하시면 되죠.
아이템 추가는
TListItem *Item = Items->Add();
Item->Caption = "제목";
Item->SubItems->Add("내용1");
Item->SubItems->Add("내용2");
Item->SubItems->Add("내용3");
식으로 상투적으로 처리합니다.