这篇实现文件的拖拽功能。
实现的消息是WM_DROPFILES------>OnDropFiles
依旧先添加WM_DROPFILES消息
转载请注明出处:http://blog.csdn.net/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属性为真
运行效果: