Vielleicht übersehe ich was (benutze keine TActionList),
aber wenn du was in der Listbox 1 dropst, wird doch das aufgerufen:
Delphi-Quellcode:
procedure TFMain.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
index: Integer;
begin
with Sender as TListBox do
begin
index := ItemAtPos(Point(X, Y), True);
Items.Move(ItemIndex, index);
end;
end;
Und da wird nirgends das aus der Listbox 2 ausgetauscht.
Delphi-Quellcode:
beginprocedure TFMain.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
idx1, idx2: Integer;
begin
idx1 := (Sender as TListBox).ItemAtPos(Point(X, Y), True);
idx2 := (Sender as TListBox).ItemIndex;
ListBox1.Items.Move(idx2, idx1);
ListBox2.Items.Move(idx2, idx1);
end;
MfG
Fabian