Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Большинство программ, преднозначенных для работы с текстом, предоставляют пользователю возможность перетаскивать имена файлов из "Проводника" (или других программ) в Memo или другой компонент, содержащийся в приложении. о умолчанию Delphi не позволяет перемещать файлы с помощью мыши, но, приложив небольшие усилия, такую возможность можно реализовать.
Первое, что вы должны сделать, - сообщить системе Windows о том, что ваша программа готова обрабатыватьфайлы, перемещенные из другого приложения с помощью мыши. Для этого достаточно включить в обработчик события OnCreate формы следующее выражение:DragAcceptFiles(Handle,True);Кроме того вы должны указать модель ShellAPI в директиве uses.Для любого окна, в котором была вызвана процедура DragAcceptFiles, справедливо следующее. Когда вы перетаскиваете имя файла на ваше приложение и отпускаете кнопку мыши, Windows посылает этому окну сообщение wm_DropFiles. Сооьщение сопровождается именем файла. Обработчик этого сообщения нужно включитьв защищенный раздел класса формы. например, в объявлении класса формы между ключвыми словами private и public добавьте следующие строки:protectedprocedure WMDropFiles (var Msg: TMessage);message wm_DropFiles;И наконец-то пример самой процедуры, при помощи которой будет происходить обработка файла:procedure TForm1.WMDropFiles(var Msg: TMessage);Var Filename: array[0..256] of char;beginDragQueryFile(THandle(Msg.WParam),0,Filename,SizeOf(Filename));{Теперь в переменной Filename будет находиться путьк перетаскиваемому файлу. Далее вы можете выполнять с этим файлом, знаяего путь, все что угодно.}{Например: Загрузить его в Memo}Memo1.lines.loadfromfile(Filename);{Сообщаем об окончании претаскивания}DragFinish(THandle(Msg.WParam));end;
Источник http://www.pts.h10.ru