Главная страница
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.015 c
3-23916
BS
2002-07-18 10:47
2002.08.08
Вопрос к мастерам: как обновить поле используя свою функцию.


3-23908
alords
2002-07-18 09:14
2002.08.08
Query


1-24104
Dark Elf
2002-07-26 16:48
2002.08.08
Chart


14-24216
Polox
2002-07-14 09:26
2002.08.08
Где взять исходники...


1-24008
eruc
2002-07-28 18:14
2002.08.08
hints (при неактивной форме)