Я пишу приложение MFC.
Я хочу перетащить файл из CListCtrl
в моем приложении к проводнику Windows.
Как это сделать?
Вам нужно подключить LVN_BEGINDRAG
обнаружить начало перетаскивания и затем вызвать DoDragDrop
с IDataObject
на основе источника данных, заполненного информацией о файле (самый простой формат для обработки CF_HDROP
). Оболочка Windows обрабатывает все остальное.
К счастью, большая часть работы по ногам уже была проделана для вас в классе MFC COleDataSource
, Есть также несколько отличных примеров:
Code Project — Как реализовать перетаскивание между вашей программой и проводником
MSDN — Перенос объектов оболочки с помощью перетаскивания и буфера обмена
Вы должны переопределить OnDrop()
в вашем CListCtrl
производный класс и обеспечить COleDataSource
,