Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
Задача: на форме есть Memo1 и Memo2. Нужно обрабатывать сообщение Windows перетаскивание файлов из проводника на эти Memo. У меня получается перехватить и обработать перетаскивание файлов из проводника на форму моей программы. Для этого: 1. в Unit.h нужно наисать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 2. в обработкик формы OnCreate написать Код: plaintext 1. 3. и написать саму функцию обработки сообщения: Код: plaintext 1. 2. 3. 4. А как переделать с формы на Memo не пойму. Попробовал в OnCreate формы написать: Код: plaintext 1. 2. Перетаскивание есть (по курсору вижу), но функция WMDropFiles не срабатывает. Подскажите, что еще нужно изменить? ------------------------- C++ Builder 2010 Самоучка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 20:20 |
|
||
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
Магический форум: как только написал вопрос, сразу же нашел ответ: 1. в Unit1.h перед строкой "class TForm1 : public TForm" написать: Код: plaintext 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. 2. в обработкик формы OnCreate написать: Код: plaintext 1. 2. 3. в обработкик формы OnDestroy написать: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 21:13 |
|
||
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
Все таки помощь нужна: как из функции WMDropFiles, обрабатывающей сообщение перетаскивания, обратится к Form1->Edit1->Text? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 22:00 |
|
||
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
Реально магический форум! Нужно переделать так: 1. в Unit.h нужно наgисать Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 2. в Unit1.cpp написать саму функцию обрабатывающую сообщение, из которой обращаться куда нужно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2017, 22:12 |
|
||
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
Николай II, мне нравится ход твоих мыслей! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 08:00 |
|
||
|
Перетаскивание файлов из проводника на КОМПОНЕНТ, а не на форму
|
|||
|---|---|---|---|
|
#18+
В догонку: Этот код будет обрабатывать сообщение Windows перетаскивания файлов на все Memo, для которых будут заданы DragAcceptFiles в true. Когда в функции-обработчике этого сообщения нужно узнать, на какой конкретно компонент было осуществлено перетаскивание, на всех форумах, которые мне попадались в процессе решения этой задачи, мудрят с определением координат курсора в момент отпускания мыши. Но, все намного проще, можно обратиться к имени компонента Name: Memo1 или Memo2. Добавьте в самое начало функции-обработчика сообщения такую строчку ShowMessage(Name); и увидите на какой конкретно компонент было осуществлено перетаскивание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2017, 21:09 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39430487&tid=2018217]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 276ms |

| 0 / 0 |
