MFC----文件拖拽的实现OnDropFiles

转自:http://blog.csdn.net/zengraoli/article/details/11641313

这篇实现文件的拖拽功能。

实现的消息是WM_DROPFILES------>OnDropFiles

依旧先添加WM_DROPFILES消息

MFC----文件拖拽的实现OnDropFiles_第1张图片

转载请注明出处:http://blog.csdn.net/yf210yf/article/details/7853823

思路是:用DragQueryFile函数返回拖拽的文件个数

然后返回每个文件文件名

[cpp]  view plain copy print ?
  1. void C控件随拖动改变大小Dlg::OnDropFiles(HDROP hDropInfo)  
  2. {  
  3.     // TODO: 在此添加消息处理程序代码和/或调用默认值  
  4.     int DropCount=DragQueryFile(hDropInfo,-1,NULL,0);//取得被拖动文件的数目  
  5.     for(int i=0;i< DropCount;i++)  
  6.     {  
  7.         WCHAR wcStr[MAX_PATH];  
  8.         DragQueryFile(hDropInfo,i,wcStr,MAX_PATH);//获得拖曳的第i个文件的文件名  
  9.         listbox.AddString(wcStr);  
  10.     }   
  11.     DragFinish(hDropInfo);  //拖放结束后,释放内存  
  12.   
  13.     CDialog::OnDropFiles(hDropInfo);  
  14. }  

还有要设置设置窗口的accept files属性为真

MFC----文件拖拽的实现OnDropFiles_第2张图片

运行效果:

MFC----文件拖拽的实现OnDropFiles_第3张图片


转自:http://blog.csdn.net/yf210yf/article/details/7853823


你可能感兴趣的:(MFC----文件拖拽的实现OnDropFiles)