Hallo Uwe,
Frohes Neues Jahr!
Anbei ein Minimalbeispiel, leider muss dazu die erwähnte Komponente installiert sein. Das Beispiel besteht lediglich aus der Form mit einem TPanel darauf, dazu noch ein DropFileSource. Für die Demonstration muss es die Datei "C:\Temp\Test01.jpg" noch nicht mal geben.
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
begin
Panel1.Caption := 'C:\Temp\Test01.jpg';
Panel1.DragMode := dmAutomatic;
end;
procedure TForm3.Panel1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
DropFileSource1.Files.Clear;
DropFileSource1.Files.Add(Panel1.Caption);
end;
procedure TForm3.DropFileSource1GetDragImage(Sender: TObject; const DragSourceHelper: IDragSourceHelper; var Handled: Boolean);
var
Pt: TPoint;
begin
GetCursorPos(Pt);
Handled := Succeeded(DragSourceHelper.InitializeFromWindow(Panel1.Handle, Pt, TCustomDropSource(Sender) as IDataObject));
end;
procedure TForm3.Panel1StartDrag(Sender: TObject; var DragObject: TDragObject);
begin
DropFileSource1.Execute(False);
end;