|
|
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите разобраться, пожалуйста. Мне нужно, чтобы список файлов из проводника можно было перетащить на форму. Очень много информации на просторах, в принципе, везде одинаковой. Для тестирования вот такой код набросался (по найденным советам). Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Почему в процедуру TForm1.WMDropFiles не заходит выполнение, когда отпускаю кнопку мыши с висящими на ней файлами? И сопутствующий вопрос (но это неважно): почему когда тащу файлы из эксплорера на форму, курсор меняется на драг-дроп "стрелку с плюсом", а если тащу из total commander - нет? (такая же фигня и, например, в TheBAT у меня - из проводника файлы в письмо тащутся, а из TC - нет) Спасибо! PS Delphi XE2, windows 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:18 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Devillio, DragAcceptFiles() вынеси в CreateWnd() метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:41 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:45 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Dmitri Krizhanovski, в основном, оттуда и брал. В DragDropFiles вынес описание класса TFileCatcher. Но это не имеет значения; т.к. такое впечатление, что не доходит/не обрабатывается/не знаю что происходит с самим сообщением. Как проверить - не знаю. DarkMaster Попробовал так: Код: pascal 1. 2. 3. 4. 5. 6. 7. то же самое - указатель мыши меняется на "стрелку с +", но в процедуру не заходит, когда отпускаю кнопку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:51 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Прикрепляю "проект" ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:55 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Devillio, Стоп, а зачем там вообще inherited? Такое должно работать: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 10:56 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Если не заморачиваться, можно взять The Drag and Drop Component Suite for Delphi и сразу всё получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 11:11 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
DevillioПрикрепляю "проект" ) Работает. p.s. Убрал CreateWnd и раскомментировал procedure TForm1.FormCreate(Sender: TObject); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 11:26 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
Dmitri Krizhanovski, странно, а у меня нет (( http://rccs-volgograd.ru/sp/nodrag.avi (220 kb) defecator, этот компонент на моей XE2 не собирается )) исправить не смог. Да и тут все равно бы понять что не так - вот у Дмитрия же работает тот же код.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 11:39 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
[quot Devillio] defecator, этот компонент на моей XE2 не собирается )) исправить не смог./quot] не надо ничего править, вот тут: https://github.com/DelphiPraxis/The-Drag-and-Drop-Component-Suite-for-Delphi всегда актуальная версия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 11:44 |
|
||
|
Drag and drop (файлы из проводника на форму) не работает
|
|||
|---|---|---|---|
|
#18+
проблема в том, что оказывается иногда требуется "открывать" для приложения WM_DROPFILES. UAC и прочая )) Решение нашел: ChangeWindowMessageFilter (WM_DROPFILES, MSGFLT_ALLOW); ChangeWindowMessageFilter (WM_COPYDATA, MSGFLT_ALLOW); ChangeWindowMessageFilter ($0049, MSGFLT_ALLOW); из user32.dll Благодарю всех откликнувшихся! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.08.2016, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39296047&tid=2041258]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 310ms |

| 0 / 0 |
