Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-23965
sanilo
2002-07-16 23:00
2002.08.08
Именованные каналы


6-24162
Sour
2002-05-26 15:47
2002.08.08
Куда делись сообщения?


7-24250
Krok
2002-05-22 17:09
2002.08.08
Реальное место на диске


4-24276
Jumper
2002-06-03 12:27
2002.08.08
клавиатура и мышь в win2000


14-24212
Falkon
2002-07-11 21:24
2002.08.08
Выделение строки определенным цветом




   Наверх