Code:

{ ListView1.DragMode := dmAutomatic }

 

procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);

var

DragItem, DropItem, CurrentItem, NextItem: TListItem;

begin

if Sender = Source then

   with TListView(Sender) do

   begin

     DropItem    := GetItemAt(X, Y);

     CurrentItem := Selected;

     while CurrentItem <> nil do

     begin

       NextItem := GetNextItem(CurrentItem, SdAll, [IsSelected]);

       if DropItem = nil then DragItem := Items.Add

       else

         DragItem := Items.Insert(DropItem.Index);

       DragItem.Assign(CurrentItem);

       CurrentItem.Free;

       CurrentItem := NextItem;

     end;

   end;

end;

 

procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;

State: TDragState;

var Accept: Boolean);

begin

Accept := Sender = ListView1;

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить