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

Вниз

Drag&Drop файлов на форму.   Найти похожие ветки 

 
Yuri Btr ©   (2002-07-26 09:35) [0]

Прочитал статью на этом форуме "Примеры использования Drag and Drop для различных визуальных компонентов". Там описан пример перетаскивания файлов из проводника на форму (в любое место). И теперь у меня пара вопросов к мастерам:
Как можно реализовать добавление имён файлов именно в определённый компонент на форме, причём только если именно в этот компонент были брошены файлы.
И как соответственно запретить Drop на не предназначенных для этого компонентах. (Accept:=false не работает)

Я так понимаю надо юзать структуру Msg сообщения WM_DROPFILES.
Но в MSG не содержится никакой информации о handle приёмника?!


 
MBo ©   (2002-07-26 10:13) [1]

Для этого придется писать свой наследник компонента, который обрабатывает сообщение WM_DROPFILES, и регистрировать его с помощью DragAcceptFiles. Вариант - субклассирование контрола с подменой его WindowProc.

Если задача будет слишком сложна, рекомендую использовать
библиотеку Drag and Drop Component Suite
Anders Melander
(codecentral.borland.com или Torry.ru)


 
Yuri Btr ©   (2002-07-26 10:30) [2]

to MBo
Спасибо, действительно задача не так проста. Но я не могу использовать в программе посторонние компоненты, я пытаюсь всё сделать руками, и нашёл такое совсем "простое" решение - я определяю приёмник по открытой странице TabSheet - благо что он у меня по одному приёмнику на каждой странице блокнота. Иначе бы пришлось определять компонент приёмник по позиции мыши во время Drag&Drop.


 
Набережных С.   (2002-07-26 19:36) [3]


> MBo © (26.07.02 10:13)

Можно просто переустановить оконную процедуру.



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-24012
Иван61
2002-07-28 20:02
2002.08.08
Грабли по имени UpCase


8-24131
новенький в Делфи
2002-04-01 02:33
2002.08.08
DelphiX


14-24225
ghremlin
2002-07-15 09:18
2002.08.08
Может мне кто-нибудь сказать ??


3-23965
sanilo
2002-07-16 23:00
2002.08.08
Именованные каналы


1-24118
vinger
2002-07-26 20:25
2002.08.08
serial