Moin,
dein Code gehört in die Ereignisbehandlung für ListBox.OnDragDrop, auch für ListBox.OnDragOver solltest du eine Zeile vorsehen.
Delphi-Quellcode:
procedure TDemoForm.ListBoxDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := (Source = VST) and Assigned(VST.GetFirstSelected);
end;
procedure TDemoForm.ListBoxDragDrop(Sender, Source: TObject; X,
Y: Integer);
var
vn: PVirtualNode;
nd: PNodeData;
begin
with Sender as TListBox do
begin
vn := VST.GetFirstSelected;
while Assigned(vn) do
begin
nd := VST.GetNodeData(vn);
Items.Add(nd.CPath);
vn := VST.GetNextSelected(vn);
end;
end;
end;
Grüße vom marabu