Jooo! das war ein guter Tipp!
Wenn im onDragDrop Event Effect auf DROPEFFECT_NONE eingestellt wird, klappt es auch mit dem Kopieren per selbst definierter Routine, bzw das anschließende Move unterbleibt.
Genau so soll es sein.
Vielen Dank Toms!
Delphi-Quellcode:
procedure TForm1.VST1DragDrop(
Sender: TBaseVirtualTree; Source: TObject; DataObject: IDataObject;
Formats: TFormatArray; Shift: TShiftState; Pt: TPoint;
var Effect: Integer; Mode: TDropMode);
begin
if (Sender = VST1) and (Source = VST2)
then begin
Caption:= (VST2.SelectedPaths[0]);
CopyFileTo(VST2.SelectedPaths[0],
VST1.RootFolderCustomPath + '\'
+ VST2.SelectedFiles[0]);
end;
Effect:= DROPEFFECT_NONE;
VST1.Active:= false;
VST1.Active:= true;
end;
procedure TForm1.VST1DragOver(
Sender: TBaseVirtualTree; Source: TObject; Shift: TShiftState;
State: TDragState; Pt: TPoint; Mode: TDropMode; var Effect: Integer;
var Accept: Boolean);
begin
Accept:= true;
end;
procedure TForm1.VST2DragOver(Sender: TBaseVirtualTree; Source: TObject;
Shift: TShiftState; State: TDragState; Pt: TPoint; Mode: TDropMode;
var Effect: Integer; var Accept: Boolean);
begin
Accept:= true;
end;