Code News Fast

To: All
From: Dmitry Gultyaev
Newsgroup: embarcadero.public.delphi.firemonkey

Drag and Drop problem

Hi, I was trying to add a simple drag n drop functionality to application. It is now much easier to make, but.. There is a general problem of drag n drop functionality in XE4 and probably XE5. Basically it is not possible to drag something to a control, that is placed on layout. I have everything on layouts and drag n drop just not working.
I fixed myself this issue in FMX.Forms by changing following procedure:
{code}function TCommonCustomForm.FindTarget(P: TPointF; const Data: TDragObject): IControl;
  i: Integer;
  NewObj: IControl;
  Result := nil;
  for i := 0 to ChildrenCount - 1 do
    // add an exception for layouts
if Supports(Children[i], IControl, NewObj) and NewObj.Visible and (NewObj.HitTest or (NewObj is TLayout)) then
      NewObj := NewObj.FindTarget(P, Data);

      if Assigned(NewObj) then         Exit(NewObj);     end; end;{code}
Originally created by
Fri, 20 Oct 2017 03:02:50 UTC
Copyright © 2009-2017
HREF Tools Corp.