On Tue, 14 Sep 2010, Graeme Geldenhuys wrote:
Hi,
I have searched the web for some Drag-n-Drop examples (even with
Delphi - just to broaden my search). Most of the examples are in the
form of this:
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer) ;
begin
if Source is TImage then
begin
TImage(Source).Left := X;
TImage(Source).Top := Y;
end;
end;
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean) ;
begin
Accept := (Source is TImage) ;
end;
Well, this seems pretty useless to me, because that means dragging
between VCL control to VCL control. Other Windows applications for
example will not have a TImage class. So how is Delphi (and thus
Lazarus) handle dragging from external (.NET, Mono, MFC, GTK2, KDE
etc) applications to a VCL or LCL application? What is the value and
type of Source parameter then? Where do you find the actual data
being dragged in? Where do you tell it what data (mime types) you want
to allow?
On windows, you can only intercept the dropfiles message, which always
comes from the explorer and has a well-known format.
There is no general inter-application drag and drop mechanism.
I don't see how you could implement it in the first place.
Michael.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus