Урок 21. Drag-and-drop в программу / Уроки C++ .NET / Visual C++ .NET
Visual C++.NET Урок 21. Drag-and-drop в программу
Для поддержки drag-n-drop в вашей программе вы должны вызвать метод DragAcceptFiles в параметром TRUE. При использовании архитектуры Документ-Вид это обычно это делается в классе окна-рамки (хотя можно и в классе вида).
Если вы хотите, чтобы drag-and-drop сразу был присущь вашей программе, вызов метода DragAcceptFiles лучше всего сделать в OnCreate:
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
// Включаем поддержку drag-and-drop.
DragAcceptFiles(TRUE);
return 0;
}
А можно включать или отключать drag-and-drop по пункту меню. В этом случае вы должны в обработчике пункта меню написать приблизительно следующее:
void CMainFrame::OnToolsDrag()
{
static BOOL bEnableDragAndDrop = TRUE;
// Изменяем возможность drag-and-drop // на противоположную.
bEnableDragAndDrop = !bEnableDragAndDrop;
DragAcceptFiles(bEnableDragAndDrop);
}
Обратите внимание, что курсор перетаскиваемого файла будет изменяться автоматически - при включенном drag-and-drop он будет в виде стрелочки с листиком, а при отключенном - в виде перечеркнутого круга.