Hola cocute.
Te hice un ejemplo simple (a modo de guía).
Código Delphi
[-]
...
implementation
procedure TForm1.FileListBox1Click(Sender: TObject);
var
i, it: Integer;
o, d: TPoint;
begin
d:= WebBrowser1.ClientOrigin;
o:= ScreenToClient(Mouse.CursorPos);
it:= FileListBox1.ItemAtPos(o, True)-1;
o:= Mouse.CursorPos;
if it <> -1 then
begin
FileListBox1.BeginDrag(True);
i:= o.X;
repeat
SetCursorPos(i, d.Y +10);
Inc(i, 4);
Sleep(1);
until i > d.X+10;
Application.ProcessMessages;
FileListBox1.EndDrag(True);
Mouse.CursorPos:= o;
end;
end;
procedure TForm1.WebBrowser1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:= Source is TFileListBox;
end;
procedure TForm1.WebBrowser1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
WebBrowser1.Navigate(TFileListBox(Source).FileName);
end;
Saludos