скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

TDropper - Компонент для перетаскивания файлов



Автор: Матвеев Игорь

Все наверное знают, что существует такая технология обмена данными как Drag&Drop (переводится как "Перетащи и брось"). Суть в том, что пользователь может перетаскивать какие-то данные (например файлы) из одной программы в другую.

 Например, в проводнике Windows файла и группы файлов можно перетаскивать между разными экземплярами проводника. В результате файл или группа файлов просто копируется в место назначения, а исходные данные - удаляются.

 Такая архитектура обмена данными позволяет значительно упростить работу конечного пользователя. Например в архиваторе файлов WinRar встроены возможности не только принимать файлы, перетащенные в окно программы, и упаковывать их в текущий архив, но и перетаскивать файлы из архива, извлекая их в место назначения. Эти возможности приближают работу с архивами в WinRar к работе с обычными файлами в проводнике.

 Принимать файлы легко - это сделать можно средствами API и ShellAPI, а вот как сделать, чтобы файлы можно было таскать из вашего приложения? Я думал над этим вопросом еще год назад и думал что это будет легко, а недавно мне это было просто необходимо для моего архиватора файлов.

 В итоге решение было найдено - создан компонент TDropper, который позволяет внедрять в ваши проекты возможность перетаскивания файлов из окна вашей программы в окно проводника Windows или другой программы.

 Загрузить компонент

 Работа с компонентом очень проста, вы должны установить свойство Enabled в True и в нужное время (в момент начала перетаскивания) вызвать метод TDropper.StartDrag. При этом курсор мыши меняется на стрелочку с плюсиком. А когда пользователь отпускает клавишу мыши вызывается событие TDropper.OnDropUp, в нем вы должны вписать в список Files имена файлов для перетаскивания.

 Примечание: При работе из под Delphi, при перетаскивании могут возникнуть ошибки, которые ловятся Delphi, но в итоговом приложении они не обнаруживаются.

 Компонент свободен для коммерческого и некоммерческого использования, а с предложениями и пожеланиями - пишите.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook