接着上篇的讲http://blog.youkuaiyun.com/yf210yf/article/details/7853741
这篇实现文件的拖拽功能。
实现的消息是WM_DROPFILES------>OnDropFiles
依旧先添加WM_DROPFILES消息

转载请注明出处:http://blog.youkuaiyun.com/yf210yf/article/details/7853823
思路是:用DragQueryFile函数返回拖拽的文件个数
然后返回每个文件文件名
void C控件随拖动改变大小Dlg::OnDropFiles(HDROP hDropInfo)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
int DropCount=DragQueryFile(hDropInfo,-1,NULL,0);//取得被拖动文件的数目
for(int i=0;i< DropCount;i++)
{
WCHAR wcStr[MAX_PATH];
DragQueryFile(hDropInfo,i,wcStr,MAX_PATH);//获得拖曳的第i个文件的文件名
listbox.AddString(wcStr);
}
DragFinish(hDropInfo); //拖放结束后,释放内存
CDialog::OnDropFiles(hDropInfo);
}
还有要设置设置窗口的accept files属性为真

运行效果:

转载请注明出处:http://blog.youkuaiyun.com/yf210yf/article/details/7853823
本文介绍如何在C控件中实现文件拖拽功能,通过添加WM_DROPFILES消息并使用DragQueryFile函数获取拖拽文件的个数和文件名。详细步骤包括设置窗口接受文件属性、拖放过程中的消息处理以及拖放结束后的资源释放。
840

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



