Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: CL | DM;

Вниз

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

 
DVM ©   (2003-05-21 14:13) [0]

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


 
MBo ©   (2003-05-21 14:17) [1]

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


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


> MBo ©

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


 
MBo ©   (2003-05-21 14:41) [3]

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

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



Страницы: 1 вся ветка

Текущий архив: 2003.07.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-100738
Aleksei
2003-07-15 18:13
2003.07.31
Delphi & Excel


3-100531
Леонид
2003-07-07 18:30
2003.07.31
Помогите с поиском по Locate с использованием radioButton


7-101004
Zero Ice
2003-05-21 16:43
2003.07.31
I/o ports


4-101034
СлБ
2003-05-28 08:02
2003.07.31
Создание полупрозрачной формы


3-100572
AbrosimovA
2003-07-08 15:28
2003.07.31
Кому нужно отдельно BDE даю ссылку