Elime eskiden kullandığım aynı form içinde listview1 den listview2 ye sürükle bırak işlem yaptıra biliyordum, şimdi formlar arası kullanabileceğim hale bu kodları nasıl getirebilirim veya bu işlemi yapan kod paylaşımı yapılırsa çok memnun olurum...
Kod: Tümünü seç
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
I: integer;
CurrentItem, nextItem, dragItem, dropItem: TListItem;
begin
if (Sender is TListView) and (Source is TListView) then
begin
dropItem := TListView(Sender).GetItemAt(X, Y);
CurrentItem := TListView(Source).Selected;
While Assigned(CurrentItem) Do
begin
nextItem := TListView(Source).GetNextItem(CurrentItem, SdAll,
[IsSelected]);
if Assigned(dropItem) then
dragItem := TListView(Sender).Items.Insert(dropItem.Index)
else
dragItem := TListView(Sender).Items.Add;
dragItem.Assign(CurrentItem);
if (Source = Sender) then
CurrentItem.Free; // Satır Kopyalama iptali
CurrentItem := nextItem;
for i := 0 to ListView1.Items.Count - 1 do
begin
ListView1.Items.BeginUpdate;
ListView1.Items.Item[i].Checked := False;
ListView1.Items[i].Caption := IntToStr(i + 1); // Sıra No
ListView1.Items.EndUpdate;
end;
end;
end;
end;
Kod: Tümünü seç
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if (Source is TListView) then
begin
Accept := True;
end;
end;