Tdropper - компонент для перетягування файлів

Delphi. Синтаксис. Drag and Drop

TDropper - Компонент для перетягування файлів

Всі напевно знають, що існує така технологія обміну даними як DragDrop (перекладається як "перетягнути і кинь"). Суть в тому, що користувач може перетягувати якісь дані (наприклад файли) з однієї програми в іншу.

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

Така архітектура обміну даними дозволяє значно спростити роботу кінцевого користувача. Наприклад в архіваторі файлів WinRar вбудовані можливості не тільки приймати файли, перенесені у вікно програми, і упаковувати їх в поточний архів, а й перетягувати файли з архіву, витягуючи їх в місце призначення. Ці можливості наближають роботу з архівами в WinRar до роботи зі звичайними файлами в провіднику.

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

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

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

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

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

Схожі статті