ShellBrowser components can take part in drag-and-drop file operations within the same or other processes throughout the system. Per default, this works the same way as in Windows Explorer - including the handling of control keys, visualization of previews and support for non-file system elements like Outlook mails or attachments.
You can test the ShellBrowser Delphi Components' drag and drop capabilities in our JamExplorer sample application.
ShellBrowser also includes two components that can be used, to attach drag-and-drop functionality to other components as well:
Connecting the TJamDragFiles component with an existing Delphi VCL control, enables the Delphi control to initiate shell drag operations.
By connecting the TJamDropFiles to any VCL Control you can capture, control and implement Drag&Drop events (DragEnter, DragLeave, DragOver, Drop) raised for the connected control
You can attach event handlers to specify or receive a list of files that are being dragged and enable you to specify the intended DropEffect (none, copy, move, or link). You could, for example, add the names of specific files to a standard TListBox while rejecting other files (i.e. preventing them from being dropped).
With the help of TJamDropFiles and TJamDragFiles, any control can interact with the file system via Drag&Drop. More examples are available in our demo application JAMDragDrop.
Are you wondering if ShellBrowser Delphi Components is your solution for native VCL explorer shell components? We offer a free 30-days trial for ShellBrowser, check it out!