VC/MFC 实现文件拖拽获取文件名(WM_DROPFILES)
2016-11-29 11:49
381 查看
本文实现的是:拖拽文件到对话框(MFC)的编辑框,然后在编辑框中显示文件名。
首先说一下我的失败经历:
操作系统环境:win10,VS版本:Visual Studio 10,无论程序是基于单文档的还是对话框的,都不能实现文件拖拽。难道是VS10的问题?或者是没有用“管理员权限”启动导致的原因?经过多次尝试后,决定换VS08试试!代码完全一样,结果在VS08下可以实现文件拖拽。神马问题?
下面说一下,实现对话框的文件拖拽的方法:
1、对话框和编辑框的属性中,Accept Files,设为true。或者用代码 DragAcceptFiles(TRUE);来设置属性!
2、用类向导重载一个Edit类,命名为CDragEdit,然后添加 WM_DROPFILES 事件:
4、至于之前提到的在VS10版本不能实现,暂时无从知晓!
---------------------------------------------------------2017/04/14---------------------------------------------------------------
针对第4点(在VS10版本中不能实现文件拖放),这里稍微再做一下讨论。
如果无法实现文件拖放,不妨在程序初始化的时候,加上下面两句代码:
首先说一下我的失败经历:
操作系统环境:win10,VS版本:Visual Studio 10,无论程序是基于单文档的还是对话框的,都不能实现文件拖拽。难道是VS10的问题?或者是没有用“管理员权限”启动导致的原因?经过多次尝试后,决定换VS08试试!代码完全一样,结果在VS08下可以实现文件拖拽。神马问题?
下面说一下,实现对话框的文件拖拽的方法:
1、对话框和编辑框的属性中,Accept Files,设为true。或者用代码 DragAcceptFiles(TRUE);来设置属性!
2、用类向导重载一个Edit类,命名为CDragEdit,然后添加 WM_DROPFILES 事件:
void CDragEdit::OnDropFiles(HDROP hDropInfo) { TCHAR szPath[MAX_PATH] = {0}; UINT nCount = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0); for(UINT i = 0; i < nCount; ++i) { DragQueryFile(hDropInfo, i, szPath, MAX_PATH); //MessageBox(szPath); } DragFinish(hDropInfo); SetWindowText(szPath); UpdateData(FALSE); //CEdit::OnDropFiles(hDropInfo); }3、在对话框中,为编辑框添加控件类型的变量 CDragEdit m_editResPath; 然后就OK拉!
4、至于之前提到的在VS10版本不能实现,暂时无从知晓!
---------------------------------------------------------2017/04/14---------------------------------------------------------------
针对第4点(在VS10版本中不能实现文件拖放),这里稍微再做一下讨论。
如果无法实现文件拖放,不妨在程序初始化的时候,加上下面两句代码:
相关文章推荐
- VC实现文件拖拽获取文件名
- VC实现文件拖拽获取文件名
- 让自己的软件实现拖拽打开文件(使用WM_DROPFILES消息和DragQueryFile函数)
- VC++, MFC中实现选择文件夹,选择文件对话框,确定当前工作目录(转载)
- VS 2008 VC 实现 --- 遍历一个文件夹下的所有文件(即查看文件名,不包含子目录)
- 孙鑫VC学习笔记:第八讲 逃跑按钮的巧妙实现和MFC中指针的获取
- [转]VC获取当前程序文件的路径,文件名以及路径+文件名
- 使用VC的MFC实现读配置文件
- VC++获取文件名,移动、删除、重命名、复制文件
- VC/MFC 设置程序与文件关联与双击文件获取文件路径
- VC实现文件拖拽
- VC/MFC 设置程序与文件关联与双击文件获取文件路径
- VC 树控件的拖拽实现 MFC
- 使用VC的MFC实现读配置文件
- VC++MFC帮助文件的实现
- VC++ 文件拖拽功能实现
- VC从文件全路径中获取文件名和扩展名方法(CString)
- VC从文件全路径中获取文件名和扩展名方法(CString)
- VC获取当前程序文件的路径,文件名以及路径+文件名
- 使用VC实现读取指定路径下的文件,并显示所有文件的文件名和文件图标