Delphi World - Drag and Drop несколько элементов в TListView
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Drag and Drop несколько элементов в TListView


{ 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;

Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования