# 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