Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прием файлов своим окном из проводника. Проблема. [D6, WinXP]


DVM ©   (2003-05-21 14:13:00) 

Возникла вот такая проблема. Требуется принять файлы своей формой из проводника. Само принятие проблем, разумеется, не вызывает (WM_DROPFILES), вопрос же вот в чем:
Пока файлы пролетают над моей формой, есть ли возможность как-то узнать о самом факте "пролета файлов" и о точке, где находится указатель мыши (надо для того, чтобы подсветить позицию в списке, который примет файлы). Указатель еще я могу отследить хуком, а вот факт перетаскивания?
Или все это возможно только реализовав в программе интерфейс IDropTarget?


MBo   (2003-05-21 14:41:00) [1]

Через интерфейсы - да.
Предполагаю, что DragAcceptFiles(hwnd,True) создает скрытый системный объект, реализующий IDropTarget, который и отвечает на запросы DragObject-а из проводника.

Кстати, реализация IDropTarget существенно проще, чем DragSource.
В простейшем случае достаточно просто возвращать S_OK из всех функций, кроме Drop, где ьудет производиться извлечение имени файла ил списка из dataObj. Более развитая реализация может включать обработку DragEnter, тогда извлечение имен можно сделать и в нем, принимая решение о принятии файлов по каким-то параметрам.


DVM   (2003-05-21 14:27:00) [2]


> MBo ©

А не в курсе как Проводник это делает? (в смысле подсвечивает значки). Через интерфейсы это возможно?
Спасибо.


MBo   (2003-05-21 14:17:00) [3]

Никаких сообщений форме при "проносе файлов" над ней не приходит.


Наверх

Титульная страница Поиск, карта сайта Написать письмо