anchor.diff:  {$mode objfpc}{$H+}
   
   {.$Define Debug}
  +{.$Define DND_DEBUG}
   
   interface
   
  
positive.code:     FDropManager.OnDragLeave := @HandleDNDLeave;
      FDropManager.OnDragEnter := @HandleDNDEnter;
      FDropManager.OnDragOver  := @HandleDNDPosition;
    end;
    Result := FDropManager;
  end;
  
negative.code:     procedure   HandleDNDLeave(Sender: TObject);
      procedure   HandleDNDEnter(Sender: TObject; DataObj: IDataObject; KeyState: Longint; PT: TPoint; var Effect: DWORD);
      procedure   HandleDNDPosition(Sender: TObject; KeyState: Longint; PT: TPoint; var Effect: TfpgOLEDragDropEffect);
      procedure   HandleDNDDrop(Sender: TObject; DataObj: IDataObject; KeyState: Longint; PT: TPoint; Effect: TfpgOLEDragDropEffect);
    private
      FMouseInWindow: boolean;
      FNonFullscreenRect: TfpgRect;
  