Hallo,
@Jens Schumann: Sender ist in deiner Prozedur
immer ListView1.
Die Delphi-Hilfe hat geschrieben:
Zitat:
Der Parameter Source des Ereignisses stellt das abgelegte Objekt dar, und Sender gibt das Steuerelement an, auf dem das Objekt abgelegt wird.
@padavan:
Die Eigenschaft DragMode beider ListViews auf dmAutomatic setzen und diese beiden Prozeduren reichen aus um die von Dir gewünschte Funktionalität zu erreichen (gerade nochmal getestet):
Delphi-Quellcode:
procedure TForm1.ListView1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if Source = ListView1 then
begin
caption := 'ListView1';
//verschiebe innerhalb ListView1 oder was anderes
end;
if Source = ListView2 then
begin
caption := 'ListView2';
//verschiebe oder kopiere von ListView2 zu ListView1 oder was anderes
end;
end;
procedure TForm1.ListView1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
if (Source = ListView1) or (Source = ListView2) then
Accept := True
else
Accept := False;
end;
Sollte der Fehler immer noch auftreten muss es eine andere Ursache haben.