DB 의 데이타를 뿌려주구..Drag&drop할때면... 다운이되더라구여...
여러번 테스트결과.. 데이타가 이동할때 리소스가 무지하게 많이 줄어드는 겁니다...
그래서 Delphi5의 데모인 virtuallistview를 해보았는데...
역시나... 데이타를 다시 뿌려줄때마다 리소스가 팍팍 줄더라구요...
왜그런지 아시는 분 없나요????
읽어주셔서 감사하구요... 빠른 답변 부탁드려요.
===소스============================================
// 색상넣기
procedure TfrmTax.ListView_SourceCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
With Sender.Canvas Do Begin
If Item = Nil Then Exit;
font.Color := clGreen;
End;
end;
// 드래그 드롭부분........
procedure TfrmTax.ListView_SourceDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if Source is TListView then begin
Accept := True;
End
Else
Accept := False;
end;
procedure TfrmTax.ListView_SourceDragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
if Sender = Source then exit;
if Source is TListView then begin
(Sender as TListView).Items.Add.Caption :=
(Source as TListView).Selected.Caption;
(Sender as TListView).Items[(Sender as TListView).Items.Count-1].Subitems :=
(Source as TListView).Selected.SubItems;
(Source as TListView).Selected.SubItems.Destroy;
(Source as TListView).Selected.Delete;
// (Source as TListView).Items.Delete((Source as TListView).Selected.Index);
End;
end;
// 팝업선택시 데이타 이동...
procedure TfrmTax.Menu_AddClick(Sender: TObject);
begin
ListView_Target.Items.Add.Caption :=
ListView_Source.Selected.Caption;
ListView_Target.Items[ListView_Target.Items.Count-1].Subitems :=
ListView_Source.Selected.SubItems;
ListView_Source.Selected.Delete;
end;
procedure TfrmTax.Menu_CancelClick(Sender: TObject);
begin
ListView_Source.Items.Add.Caption :=
ListView_Target.Selected.Caption;
ListView_Source.Items[ListView_Source.Items.Count-1].Subitems :=
ListView_Target.Selected.SubItems;
ListView_Target.Selected.Delete;
end;