TDMTextSource
TDMTextSource deals with dragging data from your application to another. For simple use, you can assign a TWinControl on your form to the DonorComponent property, detect the drag in the control's OnMouseDown event, and call the Execute method. Appropriate content (e.g., selected text or list items, etc.) is then dragged to the other application. For more sophisticated use, there is a Text property to which you can assign any content you like.
TDMTextSource is also the component that is used for dragging arbitrary formats other than text, through the use of its CustomFormatData property. In particular, you can drag more than one format, and the target application can accept any of those available. For example, when you drag cells from Excel, the data are made available in many different formats, from plain text, to a bitmap of the cells, etc.
TDMTextTarget
TDMTextTarget deals with accepting data dragged into your application from another. You assign a TWinControl on your form to the AcceptorControl property, and write an OnDrop handler to tell the TDMTextTarget how to deal with the data that has just been dropped. Natively, TDMTextTarget knows how to accept text, RTF, HTML, lists of files, and URLs.
TDMTextTarget is also the component that is used for accepting arbitrary formats other than text, through the use of its CustomFormat property. In the OnDrop event you can find out what formats are available and decide which to process.
TDMGraphicSource
Other than the native formats in TDMTextTarget, graphic images are the most commonly requested data types for drag and drop. For convenience, we provide TDMGraphicSource which works just like TDMTextSource, except that it has DonorImage and Picture properties (of type TImage and TPicture, respectively), which correspond to the DonorComponent and Text properties of TDMTextSource. Dragging a picture becomes as easy as assigning it to a property, detecting the drag, and calling Execute.
TDMGraphicTarget
TDMGraphicTarget can accept pictures dragged from another application. For convenience, it deals with multiple formats like DIBs, bitmap handles, metafiles and enhanced metafiles, so the developer need only provide a home for the TPicture data that is accepted. Of course, there is ample opportunity for customising the process as with the other components.