Перетаскивание внутри приложения И в другое приложение

У меня есть список, содержащий имена файлов. Эти имена файлов необходимо перетащить в TreeView, что является перетаскиванием внутри приложения и работает со встроенной поддержкой перетаскивания Delphi - без проблем. Но я также должен иметь возможность перетаскивать элементы ListView в другое приложение, например Windows Explorer. Это также работает, например, используя компонент DragFileSource компонента Component Suite Андерса Меландера ( http://melander.dk ), который запускает его работу в событии ListView.MouseDown, поэтому на самом деле не выполняется операция перетаскивания.

В принципе, мне нужно было бы такое же поведение, какое вы можете видеть в проводнике Windows: вы можете перетащить элемент в другую папку внутри приложения, а также в другое приложение.

Как это можно сделать в Delphi? Я думаю, что должно быть инициировано «перетаскивание», но когда мышь перемещается за пределы окна приложения, ему нужно «переключиться» на другую функциональность, и если мышь вернется в окно приложения, снова вернемся к стандартной перетаскиванию ,

Спасибо за любую помощь!

Holger

delphi,drag-and-drop,

4

Ответов: 3


5 принят

Перетаскивание набор компонентов вы упомянули это делает. Вы можете инициировать перетаскивание, которое вы можете поместить в своем приложении или других приложениях по умолчанию. Просто выберите правильный формат буфера обмена, который понимают другие приложения. В чем проблема с этим?


2

Если вы хотите как перетащить стиль VCL, так и стиль Windows, используйте для каждого стиля стиль Windows, в том числе перетаскивание в своем приложении.


0

Компоненты DropMaster могут помочь в этом - см. Http://www.raize.com/DevTools/DropMaster/

Дельфы, перетащить и падения,
Похожие вопросы