VC实现文件拖放

VC实现文件拖放
在窗口的OnCreate响应中,添加:
DragAcceptFiles(TRUE);

接着响应ONDROPFILES消息。在响应中添加如下方法:


 //hDropInfo是指向含有被拖放的文件名的结构体的句柄
 char szFilePathName[_MAX_PATH + 1] = {0};
 //函数原型:UINT DragQueryFile(HDROP hDrop, UINT iFile, LPTSTR lpszFile, UINT cch)
 //当iFile为0xFFFFFFFF时,后面两个参数忽略,并返回拖放文件的个数
 UINT nNumOfFiles = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0);

 //循环处理拖放的多个文件
 for (UINT nIndex=0; nIndex < nNumOfFiles; nIndex++)
 {
  DragQueryFile(hDropInfo, nIndex, (LPTSTR)szFilePathName, _MAX_PATH);
  //通过文件路径,做文件处理的那些事
  MessageBox((LPTSTR)szFilePathName);
 }

 DragFinish(hDropInfo);//拖放操作完成,释放用来传输文件名的内存

你可能感兴趣的:(VC实现文件拖放)