|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.01.2020, 13:20 | #1 |
Форумчанин
Регистрация: 03.01.2011
Сообщений: 233
|
drag drop файла в explorer с получением папки
Доброго времени суток.
Пишу клиент для просмотра файлов на веб сервере. Файлы можно смотреть и сохранять на компьютер. Мне нужно включать загрузку после перетаскивания файла из формы в explorer. Пробовал с IDropSource и DoDragDrop создавать и перетаскивать пустой файл. Но после перетаскивания я не знаю куда файл был перемещён, думал отследить через ReadDirectoryChangesW, куда денется мой файл, но там такое не пишут. Где-то нашёл ссылку на What a Drag Вроде он реализует свой IDataObject и через создание IStorage потом управляет им, я так понял что может даже писать, сейчас пытаюсь написать код по этим статьям. Я уже два дня маюсь с этим, подскажите, это вообще поможет или я не там ищу? Может есть статьи на русском или решение на delphi на эту тему?
пыжок
Последний раз редактировалось maloun; 17.01.2020 в 13:57. Причина: вместо IDataObject был IObject |
17.01.2020, 21:51 | #2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,063
|
Видимо что-то не учли. Посмотрите статью по ссылке:
Интерфейс переноса Drag-and-Drop
I am not a wizard, I am just learning.
|
20.01.2020, 09:54 | #3 | |
Форумчанин
Регистрация: 03.01.2011
Сообщений: 233
|
Цитата:
Я перемещаю объект из формы в проводник (т.е. в папку или на рабочий стол), а не между компонентами формы как в этой статье. Я вызываю DoDragDrop вот так: Код:
а то куда упадет IDataObject это IDropTarget. Пользователь нажимает мышкой на Image1 и перетаскивает файл в папку, в папке создается пустой 1.txt, а я не знаю в какую папку он переместился - в этом и вопрос. Я могу реализовать IDropTarget в классе формы или другом классе. Зарегистрировав его и реализуя все методы IDropTarget'а например так: Код:
Не в IDataObject, ни IDropSource, ни IDropTarget нет такого поля или намека на него. И вот в статье What a drag: Dragging a virtual file (IStorage edition) я, вроде бы нашёл зацепку, что Рэймонд Чен реализует класс от интерфейса IDataObject и в методе GetData регистрирует IStorage, при этом какое-то имя файла в GetData ему приходит. Добавлено: ------------ Вкратце... Никто прямым текстом не обсуждает мою тему. Были кое какие внятные ответы, например как реализовать IDragDrop или как читать данные из IDataObject'а, и даже общая статья на msdn. Кроме одного места на форуме msdn Откуда тема ушла в плюсы
пыжок
Последний раз редактировалось maloun; 20.01.2020 в 15:20. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Drag&Drop виртуальной папки в проводник | androidz | Общие вопросы Delphi | 0 | 20.11.2016 19:43 |
Drag & Drop файла в Edit | Xo66um | Общие вопросы Delphi | 4 | 18.10.2013 13:41 |
drag and drop файла | Михаил Юрьевич | Общие вопросы Delphi | 6 | 24.03.2013 09:18 |
Drag and Drop папки | AmbaQ | Общие вопросы Delphi | 9 | 08.09.2010 17:03 |
Drag'n'Drop файла в ListBox | D-Snaker | Компоненты Delphi | 2 | 07.08.2008 15:51 |