Einzelnen Beitrag anzeigen

Benutzerbild von Specialwork
Specialwork

Registriert seit: 10. Jan 2003
Ort: Schwall
71 Beiträge
 
Delphi 8 Professional
 
#9
  Alt 28. Apr 2003, 09:04
Hallo Aaron,



Hier die versprochene Lösung:

Delphi-Quellcode:
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
  DragItem, DropItem, CurrentItem, NextItem: TListItem;
begin
  if Sender = Source then begin
    with TListView(Sender) do begin
      DragItem := nil;
      DropItem := GetItemAt(X, Y);
      CurrentItem := Selected;

      while CurrentItem <> nil do begin
        NextItem := GetNextItem(CurrentItem, SdAll, [IsSelected]);

        if DropItem = nil then begin
          DragItem := Items.Add;
        end else begin
          DragItem := Items.Insert(DropItem.Index);
        end;

        DragItem.Assign(CurrentItem);
        CurrentItem.Free;
        CurrentItem := NextItem;
      end;

      if DragItem <> nil then
        DragItem.Selected:=true;
    end;
  end;
end;

procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept:=True;
end;
Gruß, Tom
Angehängte Dateien
Dateityp: zip draganddrop.zip (6,7 KB, 14x aufgerufen)
Thomas van Veen
Es gibt keine Probleme, nur Lösungen, auf die man nicht gleich kommt !
  Mit Zitat antworten Zitat