一、首先在mainFrame的OnCreate消息里面
if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
return -1;
//////////////////////////////////////////////////////////////////
DragAcceptFiles(TRUE); //此句是需要自己加的
/////////////////////////////////////////////////////////////////
二、添加OnDropFiles消息响应函数
void CMainFrame::OnDropFiles(HDROP hDropInfo)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
char * pFilePath = new char[256];
::DragQueryFile(hDropInfo, 0, pFilePath, 256); // 获取拖放第一个文件的完整文件名
CString filePath;
filePath.Format("%s", pFilePath);
delete[] pFilePath;
::DragFinish(hDropInfo); // 注意这个不能少,它用于释放Windows 为处理文件拖放而分配的内存
CFrameWndEx::OnDropFiles(hDropInfo);
}

本文介绍如何在MFC框架下实现文件的拖放功能。主要步骤包括:在OnCreate消息中启用拖放功能,并添加OnDropFiles消息响应函数来处理拖放事件。文中详细展示了如何获取拖放文件路径及正确释放内存。
715

被折叠的 条评论
为什么被折叠?



