DragDrop

The DragDrop structure provides functions to allow file names to be dragged and dropped onto a window. Calling DragAcceptFiles for a window allows it to accept dropped files.   It will then receive a WM_DROPFILES message containing a drop handle when one or more files are dropped on the window.  The file names are retrieved from the drop handle using DragQueryFile and the position within the window with DragQueryPoint.   To complete processing the message call DragFinish.

structure DragDrop:

  sig

    type HDROP

    type HWND (* = Window.HWND *)

    type POINT = { x: int, y: int }

    val DragAcceptFiles : HWND * bool -> unit

    val DragFinish : HDROP -> unit

    val DragQueryFile : HDROP -> string list

    val DragQueryPoint : HDROP -> POINT * bool

  end