DROPID (return drag-and-drop string)

Top  Previous  Next

 

DROPID( [thread] [, control] )

DROPID

Returns matching host and target signatures on a successful drag-and-drop operation.

thread

The label of a numeric variable to receive the thread number of the target control. If the target control is in an external program, thread receives zero (0).

control

The label of a numeric variable to receive the field equate label of the target control.

The DROPID procedure returns the matching host and target control signatures on a successful drag-and-drop operation (just as DRAGID does), or the specific string set by the SETDROPID procedure. The DROPID procedure returns a comma-delimited list of filenames dragged from the Windows File Manager when '~FILE' is the DROPID attribute.

Return Data Type:

STRING

Example:

DragDrop    PROCEDURE

Que1 QUEUE

     STRING(90)

    END

 

Que2 QUEUE

     STRING(90)

    END

 

WinOne WINDOW('Test Drag Drop'),AT(10,10,240,320),SYSTEM,MDI

       !Drag but no drop:

       LIST,AT(12,0,200,80),USE(?List1),FROM(Que1),DRAGID('List1')

       !Allows drops from List1 or the Windows File Manager, but no drags:

       LIST,AT(12,120,200,80),USE(?List2),FROM(Que2),DROPID('List1','~FILE')

      END

CODE

OPEN(WinOne)

ACCEPT

 CASE EVENT()

 OF EVENT:Drag                  !When a drag event is attempted

  IF DRAGID()                   !check for success

   GET(Que1,CHOICE())

   SETDROPID(Que1)              !and setup info to pass

  END

 OF EVENT:Drop                  !When drop event is successful

  IF INSTRING(',',DROPID(),1,1) !Check for multiple files from File Manager

   Que2 = |                     !and only get first

   SUB(DROPID(),1,INSTRING(',',DROPID(),1,1)-1)

   ADD(Que2)                    !and add it to the queue

  ELSE

   Que2 = DROPID()              !get dropped info, from List1 or File Manager

   ADD(Que2)                    !and add it to the queue

  END

 END

END

See Also:

DRAGID

SETDROPID