Здравствуйте KoraK, вы писали:
KK>Как перетащить файл в окно приложения и получить его путь. KK>И обратно — перетацить файл из окна — то есть опеределить куда перетацили файл.
KK>Все вроде просто, но видимо ДНК плохое :)
Надо зарегистрировать окно с стилем WS_EX_ACCEPTFILES
Здравствуйте adontz, вы писали:
A>Здравствуйте KoraK, вы писали:
KK>>Как перетащить файл в окно приложения и получить его путь. KK>>И обратно — перетацить файл из окна — то есть опеределить куда перетацили файл.
KK>>Все вроде просто, но видимо ДНК плохое :)
A>Надо зарегистрировать окно с стилем WS_EX_ACCEPTFILES
A>И обрабатывать WM_DROPFILES
Ok. Thx. Но как обратно в эксплорер ? Посылать WM_DROPFILES ?
Здравствуйте Sasparella, вы писали:
S>Здравствуйте KoraK, вы писали:
A>>>И обрабатывать WM_DROPFILES
KK>>Ok. Thx. Но как обратно в эксплорер ? Посылать WM_DROPFILES ?
S>А что значит Обратно ??? Это пользователь тащит, а виндоус посылет окну над которым drop-нули файлы сообщение об этом.
S>Или вы хотите сэмулировать перетаскивание файлов ?
Нет, мне нужно что бы файлы можно было из моей программы также тащить и дропать в окошко Windows Explorera (WE). Как дропать из WE в свою прогу я разобрался. А вот обратный процес не очень ясен.
Здравствуйте KoraK, вы писали:
KK>Здравствуйте Sasparella, вы писали:
S>>Здравствуйте KoraK, вы писали:
A>>>>И обрабатывать WM_DROPFILES
KK>>>Ok. Thx. Но как обратно в эксплорер ? Посылать WM_DROPFILES ?
S>>А что значит Обратно ??? Это пользователь тащит, а виндоус посылет окну над которым drop-нули файлы сообщение об этом.
S>>Или вы хотите сэмулировать перетаскивание файлов ?
KK>Нет, мне нужно что бы файлы можно было из моей программы также тащить и дропать в окошко Windows Explorera (WE). Как дропать из WE в свою прогу я разобрался. А вот обратный процес не очень ясен.
В MSDN есть статья
"Drag and Drop: Implementing a Drop Source"
правда, там описывается как это сотворить на MFC, но классам MFC как правило соответствуют Api функции, так что наверное вам подойдет?
Здравствуйте Sasparella, вы писали:
S>Здравствуйте KoraK, вы писали:
KK>>Здравствуйте Sasparella, вы писали:
S>>>Здравствуйте KoraK, вы писали:
A>>>>>И обрабатывать WM_DROPFILES
KK>>>>Ok. Thx. Но как обратно в эксплорер ? Посылать WM_DROPFILES ?
S>>>А что значит Обратно ??? Это пользователь тащит, а виндоус посылет окну над которым drop-нули файлы сообщение об этом.
S>>>Или вы хотите сэмулировать перетаскивание файлов ?
KK>>Нет, мне нужно что бы файлы можно было из моей программы также тащить и дропать в окошко Windows Explorera (WE). Как дропать из WE в свою прогу я разобрался. А вот обратный процес не очень ясен.
S>В MSDN есть статья
S>"Drag and Drop: Implementing a Drop Source"
S>правда, там описывается как это сотворить на MFC, но классам MFC как правило соответствуют Api функции, так что наверное вам подойдет?
S>Саша.
Где именно есть эта статья, в каком разделе ? Мне необходимо решить все только API функциями. Использования как COM так и MFC неприемлимо. :(
Здравствуйте KoraK, вы писали:
KK>Где именно есть эта статья, в каком разделе ? Мне необходимо решить все только API функциями. Использования как COM так и MFC неприемлимо. :(
No way. Если хочешь реализовать drop source, COM придется использовать в любом случае. Все что нужно, это реализовать IDataObject, IDropSource и вызвать DoDragDrop.
Здравствуйте Alex Fedotov, вы писали:
AF>Здравствуйте KoraK, вы писали:
KK>>Где именно есть эта статья, в каком разделе ? Мне необходимо решить все только API функциями. Использования как COM так и MFC неприемлимо. :(
AF>No way. Если хочешь реализовать drop source, COM придется использовать в любом случае. Все что нужно, это реализовать IDataObject, IDropSource и вызвать DoDragDrop.
Драг энд дроп был до COM или я ошибаюсь ?
В любом случае желателен пример или ссылка на статью.
Здравствуйте KoraK, вы писали:
AF>>No way. Если хочешь реализовать drop source, COM придется использовать в любом случае. Все что нужно, это реализовать IDataObject, IDropSource и вызвать DoDragDrop.
KK>Драг энд дроп был до COM или я ошибаюсь ?
Да, был, в Windows 3.1. В Win32 это делается через COM.
KK>В любом случае желателен пример или ссылка на статью.