환경: RAD Studio XE5 ( C++ Builder XE5)
Form에 TListView를 올리고, Item을 추가했습니다.
Properties는 아래와 같이 수정했습니다.( Drag & Drop을 위해서..)
- DragMode=dmAutomatic;
- MultiSelect = true;
- RowSelect = true;
- ViewStyle = vsReport;
ListView의 항목을 마우스로 Drag & Drop으로 바꾸려고 하는데..
아래 URL의 장성호님이 정리해 놓으신 방법으로(방법3) 코드를 구성하였는데요..
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=62761
void __fastcall TFormMain::ListViewDragDrop(TObject *Sender, TObject *Source, int X, int Y)
{
TListItem *SrcItem=ListView1->Selected;
TListItem *TargetItem=ListView1->GetItemAt(X,Y);
ExChagneListViewItem(ListView, SrcItem,TargetItem);
}
void __fastcall ExChagneListViewItem(TListView *listView,TListItem *Source,TListItem*Target)
{
TListItem *New;
listView->Items->BeginUpdate();
try
{
New = listView->Items->Add();
New->Assign(Target);
Target->Assign(Source);
Source->Assign(New);
delete New;
}
__finally
{
listView->Items->EndUpdate();
}
}
그런데, 이 마우스로 Drag & Drop을 하였으나 전혀 이 이벤트로 진입하지 않습니다.
왜 그런거지요?
|