Как перетащить файл из оболочки проводника в элемент управления VirtualTreeView в приложении Delphi?

В VirtualTreeView от Майка Лишке имеется обширная поддержка перетаскивания, и я использую TVirtualStringTree, в котором есть некоторые функции перетаскивания События, но я не могу понять, как заставить его принимать перетаскивание некоторых файлов из оболочки проводника Windows в мое приложение. Я хочу загрузить файлы, когда они перетаскиваются на элемент управления перетаскиванием.

Я пробовал использовать сторонний набор кода от Андерса Меландера для обработки перетаскивания, но поскольку VirtualTreeView уже регистрирует себя как цель перетаскивания, Я не могу это использовать.

edit: Я нашел простой обходной путь: отключите toAcceptOLEDrop в VT.TreeOptions.MiscOptions. Было бы здорово, если бы кто-нибудь знал способ использовать VirtualTreeView без использования сторонней библиотеки OLE-shell-drag-drop и с использованием ее обширной поддержки перетаскивания OLE для извлечения списка имен файлов, перетаскиваемых из Shell.

7
задан Warren P 22 September 2010 в 14:30
поделиться